Java TreeMap ceilingKey() Method



Description

The Java TreeMap ceilingKey(K key) method is used to return 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.ceilingKey() method.

public K ceilingKey(K key)

Parameters

key − This is the key to be matched.

Return Value

The method call returns 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 from a TreeMap of Integer,Integer Pairs Example

The following example shows the usage of Java TreeMap ceilingKey() method to get the least key greater than or equal to the given key, or null if there is no such key. We've created a TreeMap object of Integer,Integer pairs. Then few entries are added, and using ceilingKey() we're printing three relevant keys.

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, 4);
      treemap.put(5, 5);

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

Output

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

Ceiling key entry for 4: 5
Ceiling key entry for 5: 5
Ceiling key entry for 7: null

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

The following example shows the usage of Java TreeMap ceilingKey() method to get the least key greater than or equal to the given key, or null if there is no such key. We've created a TreeMap object of Integer,String pairs. Then few entries are added, and using ceilingKey() we're printing three relevant keys.

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 key entry for 4: "+ treemap.ceilingKey(4));
      System.out.println("Ceiling key entry for 5: "+ treemap.ceilingKey(5));
      System.out.println("Ceiling key entry for 7: "+ treemap.ceilingKey(7));
   }    
}

Output

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

Ceiling key entry for 4: 5
Ceiling key entry for 5: 5
Ceiling key entry for 7: null

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

The following example shows the usage of Java TreeMap ceilingKey() method to get the least key greater than or equal to the given key, or null if there is no such key. We've created a TreeMap object of Integer,Student pairs. Then few entries are added, and using ceilingKey() we're printing three relevant keys.

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 key entry for 4: "+ treemap.ceilingKey(4));
      System.out.println("Ceiling key entry for 5: "+ treemap.ceilingKey(5));
      System.out.println("Ceiling key entry for 7: "+ treemap.ceilingKey(7));
   }    
}
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 key entry for 4: 5
Ceiling key entry for 5: 5
Ceiling key entry for 7: null
java_util_treemap.htm
Advertisements