Java TreeMap ceilingEntry() Method



Description

The Java TreeMap ceilingEntry(K key) method is used to return a key-value mapping associated with the least key greater than or equal to the given key, or null if there is no such key.

Declaration

Following is the declaration for java.util.TreeMap.ceilingEntry() method.

public Map.Entry<K,V> ceilingEntry(K key)

Parameters

key − This is the key to be matched.

Return Value

The method call returns an entry with the least key greater than or equal to key, or null if there is no such key.

Exception

  • ClassCastException − It throws the exception if the specified key cannot be compared with the keys currently in the map.

  • NullPointerException − It throws the exception if the specified key is null and this map uses natural ordering, or its comparator does not permit null keys.

Getting a Ceiling Key-Value Entry from a TreeMap of Integer,Integer Pairs Example

The following example shows the usage of Java TreeMap ceilingEntry() method to get a key-value mapping associated with the least key greater than or equal to the given key. We've created a TreeMap object of Integer,Integer pairs. Then few entries are added, and using ceilingEntry() we're printing two relevant entries.

package com.tutorialspoint;

import java.util.TreeMap;

public class TreeMapDemo {
   public static void main(String[] args) {
      
      // creating tree map 
      TreeMap<Integer, Integer> treemap = new TreeMap<>();

      // populating tree map
      treemap.put(2, 2);
      treemap.put(1, 1);
      treemap.put(3, 3);
      treemap.put(6, 6);
      treemap.put(5, 5);

      System.out.println("Ceiling entry for 4: "+ treemap.ceilingEntry(4));
      System.out.println("Ceiling entry for 5: "+ treemap.ceilingEntry(5));
   }
}

Output

Let us compile and run the above program, this will produce the following result.

Ceiling entry for 4: 5=5
Ceiling entry for 5: 5=5

Getting a Ceiling Key-Value Entry from a TreeMap of Integer,String Pairs Example

The following example shows the usage of Java TreeMap ceilingEntry() method to get a key-value mapping associated with the least key greater than or equal to the given key. We've created a TreeMap object of Integer,String pairs. Then few entries are added, and using ceilingEntry() we're printing two relevant entries.

package com.tutorialspoint;

import java.util.TreeMap;

public class TreeMapDemo {
   public static void main(String[] args) {
      
      // creating tree map 
      TreeMap<Integer, String> treemap = new TreeMap<>();

      // populating tree map
      treemap.put(2, "two");
      treemap.put(1, "one");
      treemap.put(3, "three");
      treemap.put(6, "six");
      treemap.put(5, "five");

      System.out.println("Ceiling entry for 4: "+ treemap.ceilingEntry(4));
      System.out.println("Ceiling entry for 5: "+ treemap.ceilingEntry(5));
   }
}

Output

Let us compile and run the above program, this will produce the following result.

Ceiling entry for 4: 5=five
Ceiling entry for 5: 5=five

Getting a Ceiling Key-Value Entry from a TreeMap of Integer,Object Pairs Example

The following example shows the usage of Java TreeMap ceilingEntry() method to get a key-value mapping associated with the least key greater than or equal to the given key. We've created a TreeMap object of Integer,Student pairs. Then few entries are added, and using ceilingEntry() we're printing two relevant entries.

package com.tutorialspoint;

import java.util.TreeMap;

public class TreeMapDemo {
   public static void main(String[] args) {
      
      // creating tree map 
      TreeMap<Integer, Student> treemap = new TreeMap<>();

      // populating tree map
      treemap.put(2, new Student(2, "Robert"));
      treemap.put(1, new Student(1, "Julie"));  
      treemap.put(3, new Student(3, "Adam"));
      treemap.put(6, new Student(5, "Julia"));
      treemap.put(5, new Student(5, "Tom"));

      System.out.println("Ceiling entry for 4: "+ treemap.ceilingEntry(4));
      System.out.println("Ceiling entry for 5: "+ treemap.ceilingEntry(5));
   }
}
class Student {
   int rollNo;
   String name;

   Student(int rollNo, String name){
      this.rollNo = rollNo;
      this.name = name;
   }

   @Override
   public String toString() {
      return "[ " + this.rollNo + ", " + this.name + " ]";
   }
   @Override
   public boolean equals(Object obj) {
      if(obj == null) return false;
      Student s = (Student)obj;
      return this.rollNo == s.rollNo && this.name.equalsIgnoreCase(s.name);
   }
}

Output

Let us compile and run the above program, this will produce the following result.

Ceiling entry for 4: 5=[ 5, Tom ]
Ceiling entry for 5: 5=[ 5, Tom ]
java_util_treemap.htm
Advertisements