Creating Subsets and Headsets from TreeMap with Java
Last Updated :
06 Feb, 2024
A Java TreeMap is a sorted collection that is a component of the Java Collections Framework. Subsets are parts of the map, and headsets are made up of items that are less than or equal to a specified key.
In this article, we will learn how to create subsets and headsets from a TreeMap based on specific criteria in Java.
How to Create Subsets and Headsets from a TreeMap Based on Specific Criteria in Java?
Approaches to create subsets and headsets from a TreeMap
- SubMap(): TreeMap’s subMap(K fromKey, K toKey) function yields a view of the area of the map whose keys fall between fromKey and toKey.
- HeadMap(): The part of the map whose keys are strictly smaller than toKey is shown in the view returned by the TreeMap headMap(K toKey) function.
1. Creating a Subset using subMap()
Below is the implementation of Creating a Subset using subMap() :
Java
import java.util.TreeMap;
public class SubSetExample {
public static void main(String[] args) {
TreeMap<Integer, String> treeMap = new TreeMap<>();
treeMap.put( 1 , "A" );
treeMap.put( 2 , "B" );
treeMap.put( 3 , "C" );
treeMap.put( 4 , "D" );
treeMap.put( 5 , "E" );
TreeMap<Integer, String> subMap = new TreeMap<>(treeMap.subMap( 3 , 5 ));
System.out.println( "Original TreeMap: " + treeMap);
System.out.println( "Subset (inclusive of key 3, exclusive of key 5): " + subMap);
}
}
|
Output
Original TreeMap: {1=A, 2=B, 3=C, 4=D, 5=E}
Subset (inclusive of key 3, exclusive of key 5): {3=C, 4=D}
Explanation of the Program:
- In the above program, a
TreeMap
is created.
- A subset is created from the original
TreeMap
using the subMap()
method. This specifies the start (inclusive) and end (exclusive) keys.
- The original
TreeMap
and the subset are printed to the console.
2. Creating a Headset using headMap
Below is the implementation of Creating a Headset using headMap:
Java
import java.util.TreeMap;
public class HeadSetExample {
public static void main(String[] args) {
TreeMap<Integer, String> treeMap = new TreeMap<>();
treeMap.put( 1 , "A" );
treeMap.put( 2 , "B" );
treeMap.put( 3 , "C" );
treeMap.put( 4 , "D" );
treeMap.put( 5 , "E" );
TreeMap<Integer, String> headMap = new TreeMap<>(treeMap.headMap( 4 ));
System.out.println( "Original TreeMap: " + treeMap);
System.out.println( "Headset (up to key 4, exclusive): " + headMap);
}
}
|
Output
Original TreeMap: {1=A, 2=B, 3=C, 4=D, 5=E}
Headset (up to key 4, exclusive): {1=A, 2=B, 3=C}
Explanation of the Program:
- In the above program, a
TreeMap
is created.
- A headset is created from the original
TreeMap
using the headMap()
method, specifying the end key (exclusive).
- The original
TreeMap
and the headset are printed to the console.
Share your thoughts in the comments
Please Login to comment...