The java.util.TreeMap.headMap(key_point) method of TreeMap class is used to get all the pairs or portion of the map strictly less than the parameter key_value. The mentioned parameter is excluded from the newly prepared treemap. Since the set is backed by the map, so any changes to the map are reflected in the other map, and vice-versa.
Syntax:
sorted_map = old_treemap.headMap(key_point)
Parameters: The method takes one parameter key_point of the type of key taken in the TreeMap and refers to the point, till which the key-value pair is to be returned.
Return Value: The method returns the portion of the treemap whose keys are strictly less than that of the key_point.
Exceptions: The method throws three type of exceptions:
- ClassCastException: This exception is thrown when the key_point is not compatible or comparable to the maps comparator.
- NullPointerException: This exception is thrown when key-point is Null.
- IllegalArgumentException: This exception is thrown when the key_point is out of bound or outside the limit of the map range.
Below programs illustrate the use of java.util.TreeMap.headMap() method:
Program 1:
import java.util.*;
public class Tree_Map_Demo {
public static void main(String[] args)
{
TreeMap<Integer, String> tree_map = new
TreeMap<Integer, String>();
tree_map.put( 10 , "Geeks" );
tree_map.put( 15 , "4" );
tree_map.put( 20 , "Geeks" );
tree_map.put( 25 , "Welcomes" );
tree_map.put( 30 , "You" );
System.out.println( "Initial Tree is: " +
tree_map);
SortedMap<Integer, String> map_head = new
TreeMap<Integer, String>();
map_head = tree_map.headMap( 20 );
System.out.println( "The headmap is: " + map_head);
}
}
|
Output:
Initial Tree is: {10=Geeks, 15=4, 20=Geeks, 25=Welcomes, 30=You}
The headmap is: {10=Geeks, 15=4}
Program 2:
import java.util.*;
public class Tree_Map_Demo {
public static void main(String[] args)
{
TreeMap<String, Integer> tree_map = new
TreeMap<String, Integer>();
tree_map.put( "Geeks" , 10 );
tree_map.put( "4" , 15 );
tree_map.put( "Geeks" , 20 );
tree_map.put( "Welcomes" , 25 );
tree_map.put( "You" , 30 );
System.out.println( "Initial Tree is: " +
tree_map);
SortedMap<String, Integer> map_head = new
TreeMap<String, Integer>();
map_head = tree_map.headMap( "You" );
System.out.println( "The headmap is: " +
map_head);
}
}
|
Output:
Initial Tree is: {4=15, Geeks=20, Welcomes=25, You=30}
The headmap is: {4=15, Geeks=20, Welcomes=25}
Note: The same operation can be performed with any type of Mappings with variation and combination of different data types.