Here we will see about TreeMap in java with example.
Basic Points about TreeMap.
- TreeMap is a class which extends AbstractMap and implements NavigableMap, Cloneable, Serializable.
- TreeMap also used to store the element in the form of key and value pair.
- In the TreeMap key must be the same type where value can be the different type.
- Key cannot be duplicated where value can be duplicated.
- Treemap store the element in sorted order on the basis of the key.
- TreeMap uses index representation to store the elements.
- In TreeMap value can be null but the key cannot be null. If we try to insert null as a key, the code will compile successfully but at runtime, it will throw NullPointerException.
- In Treemap none of the methods are synchronized so it doesn’t affect the concurrency and cloning.
Example:-
package treemapexample;
import java.util.*;
class TreeMapExp {
public static void main(String[] arg) {
Map<Integer, String> treemapObject = new TreeMap<>();
treemapObject.put(4, "ram");
treemapObject.put(1, "mohan");
treemapObject.put(3, "Bangalore");
treemapObject.put(2, "Rakesh");
// we will iterate using Iterator
Iterator<Map.Entry<Integer, String>> iterator = treemapObject
.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<Integer, String> entry = iterator.next();
System.out.println("Key is = " + entry.getKey() + ", Value is = "
+ entry.getValue());
}
}
}
Output:-
Key is = 1, Value is = mohan
Key is = 2, Value is = Rakesh
Key is = 3, Value is = Bangalore
Key is = 4, Value is = ram
In above example we can se elements are sorted on the basis of key.
Example: – Inserting null as a key in TreeMap.
package treemapexample;
import java.util.*;
class TreeMapExp {
public static void main(String[] arg) {
Map<Integer, String> treemapObject = new TreeMap<>();
// passing null as a key in TreeMap
treemapObject.put(null, "ram");
treemapObject.put(0, "mohan");
treemapObject.put(3, "Bangalore");
treemapObject.put(2, "Rakesh");
// we will iterate using Iterator
Iterator<Map.Entry<Integer, String>> iterator = treemapObject
.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<Integer, String> entry = iterator.next();
System.out.println("Key is = " + entry.getKey() + ", Value is = "
+ entry.getValue());
}
}
}
Output –
Exception in thread “main” java.lang.NullPointerException
at java.util.TreeMap.compare(Unknown Source)
at java.util.TreeMap.put(Unknown Source)
at treemapexample.TreeMapExp.main(TreeMapExp.java:12)
TreeMap Methods.


