Java TreeMap lowerKey(K key) Method Example

The lowerEntry(K key) method  of java.util.TreeMap class returns a key-value mapping associated with the greatest key strictly less than the given key, or null if there is no such key. whereas lowerKey(K key) method returns the greatest key strictly less than the given key, or null if there is no such key.

Signature

public K lowerKey(K key)

This method returns the greatest key strictly less than the given key, or null if there is no such key. Throws ClassCastException  if the specified key cannot be compared with the keys currently in the map and NullPointerException  if the specified key is null and this map uses natural ordering, or its comparator does not permit null keys

Example

The following example shows the usage of java.util.TreeMap.lowerKey(key) method.

import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

public class LowerKeyMethodTreeMapExample
{
    public static void main(String args[])
    {
        // create an empty TreeMap
        TreeMap<Integer,String>  treeMap1 = new TreeMap<Integer,String>();
        
        // use put() method to populate elements to the TreeMap
        treeMap1.put(2,"Element2");
        treeMap1.put(3,"Element3");
        treeMap1.put(1,"Element1");
        treeMap1.put(5,"Element5");
        
        //get the entrySet of treeMap1
        Set<Map.Entry<Integer,String>> set1 = treeMap1.entrySet();
        //Print the elements of treeMap1
        System.out.println("**Elements of treeMap1**");
        for (Map.Entry<Integer,String> me : set1) 
        {
            System.out.print(me.getKey() + ": ");
            System.out.println(me.getValue());
        }
        
        //Get the lower key for key 3
        System.out.println("**Lower key of Key 3 in TreeMap**");
        System.out.println(treeMap1.lowerKey(3));
    }
}

Output

**Elements of treeMap1**
1: Element1
2: Element2
3: Element3
5: Element5
**Lower key of Key 3 in TreeMap**
2

Leave a Reply

Your email address will not be published. Required fields are marked *