The headMap() method of SortedMap interface in Java is used to return a view of the portion of this map whose keys are strictly less than toKey.
- The map returned by this method is backed by this map, so changes in the returned map are reflected in this map, and vice-versa.
- The map returned by this method supports all optional map operations that this map supports.
Note: The map returned by this method will throw an IllegalArgumentException if any attempt is made to insert a key outside its range.
Syntax:
SortedMap<K, V> headMap(K toKey)
Where, K is the type of key maintained by this Set and V is the type of values associated with the Key.
Parameters: This function accepts a single parameter toKey which represents high endpoint (exclusive) of the keys in the returned map.
Return Value: It returns a view of the portion of this map whose keys are strictly less than toKey.
Exception:
- ClassCastException: If the parameter toKey is not compatible with this map’s comparator (or, if the map has no comparator, if toKey does not implement Comparable).
- NullPointerException: If the parameter toKey is null and this map does not permit null keys.
- IllegalArgumentException: If this map itself has a restricted range, and toKey lies outside the bounds of the range
Below programs illustrate the above method:
Program 1:
// A Java program to demonstrate// working of SortedSetimport java.util.*;  public class Main {    public static void main(String[] args)    {        // Create a TreeSet and inserting elements        SortedMap<Integer, String> mp = new TreeMap<>();          // Adding Element to SortedSet        mp.put(1, "One");        mp.put(2, "Two");        mp.put(3, "Three");        mp.put(4, "Four");        mp.put(5, "Five");          // Returning the map with key less than 3        System.out.print("Last Key in the map is : "                         + mp.headMap(3));    }} |
Last Key in the map is : {1=One, 2=Two}
Program 2:
// A Java program to demonstrate// working of SortedSetimport java.util.*;  public class Main {    public static void main(String[] args)    {        // Create a TreeSet and inserting elements        SortedMap<String, String> mp = new TreeMap<>();          // Adding Element to SortedSet        mp.put("One", "Geeks");        mp.put("Two", "For");        mp.put("Three", "Geeks");        mp.put("Four", "Code");        mp.put("Five", "It");          // Returning map with key less than H        System.out.print("Last Key in the map is : "                         + mp.headMap("H"));    }} |
Last Key in the map is : {Five=It, Four=Code}
Reference: https://docs.oracle.com/javase/10/docs/api/java/util/SortedMap.html#headMap(K)
