java util TreeMap Class - java.util.TreeMap Class in Java
Last updated on
java.util.TreeMap Class
TreeMap Class in Java
A TreeMap is a map that maintains its keys ordered within a balanced, red−black tree. The map is sorted according to the natural ordering of its keys, or by a Comparator provided at map creation time, depending on which constructor is used.
Is TreeMap Thread Safe ?
TreeMap is not synchronized. If multiple threads access a map concurrently, and at least one of the threads modifies the map structurally, it must be synchronized externally.
To prevent accidental unsynchronized access to the map, you should create map with Collections.synchronizedSortedMap method.
What are the Red Black Tree Rules in Java ?
- Every node in the tree is either black or red.
- The root is always black.
- If a node is red, its children must be black.
- Every path from the root to a leaf (or null child) must contain the same number of black nodes.
java.util.TreeMap class Example
/* Java TreeMap class Example
Save with file name TreeMapExample.java */
import java.util.TreeMap;
import java.util.Enumeration;
public class TreeMapExample
{
public static void main(String args[])
{
// java.util.TreeMap DECLARATION
TreeMap <String,Integer> h;
// java.util.TreeMap OBJECT CREATION
// USING DEFAULT CONSTRUCTOR
h = new TreeMap <String,Integer>();
// ADD KEY AND VALUE
h.put("ONE", new Integer(1));
h.put("TWO", new Integer(2));
h.put("THREE", new Integer(3));
// ALLOW null VALUE ONLY
h.put("FOUR",null);
//TreeMap OUTPUT
System.out.println(h);
}
}
java.util.TreeMap class Example 2
/* Java TreeMap class Example 2
Save with file name TreeMapExample2.java */
import java.util.TreeMap;
import java.util.Iterator;
import java.util.Set;
import java.util.Collection;
import java.util.Iterator;
public class TreeMapExample2
{
public static void main(String args[])
{
// java.util.TreeMap DECLARATION
TreeMap <String,Integer> h;
// java.util.TreeMap OBJECT CREATION
// USING DEFAULT CONSTRUCTOR
h = new TreeMap <String,Integer>();
// ADD KEY AND VALUE
h.put("ONE", new Integer(1));
h.put("TWO", new Integer(2));
h.put("THREE", new Integer(3));
// ALLOW null VALUE ONLY
h.put("FOUR",null);
// TreeMap KEYS OUTPUT
Set s = h.keySet();
Iterator itr = s.iterator();
int i=1;
while(itr.hasNext())
{
System.out.println("Key " + i++ + " : " + itr.next());
}
// TreeMap VALUES OUTPUT
Collection c = h.values();
Iterator values = c.iterator();
int j=1;
while(values.hasNext())
{
System.out.println("Value " + j++ + " : " + values.next());
}
}
}
java.util.TreeMap class Example 3
/* Java TreeMap class Example 3
Save with file name TreeMapExample3.java */
import java.util.TreeMap;
import java.util.Map;
import java.util.Iterator;
import java.util.Set;
import java.util.Collection;
import java.util.Iterator;
public class TreeMapExample3
{
public static void main(String args[])
{
// java.util.TreeMap DECLARATION
TreeMap <String,Integer> h;
// java.util.TreeMap OBJECT CREATION
// USING DEFAULT CONSTRUCTOR
h = new TreeMap <String,Integer>();
// ADD KEY AND VALUE
h.put("ONE", new Integer(1));
h.put("TWO", new Integer(2));
h.put("THREE", new Integer(3));
// ALLOW null VALUE ONLY
h.put("FOUR",null);
// TreeMap KEYS OUTPUT
Set s = h.entrySet();
Iterator itr = s.iterator();
int i=1;
while(itr.hasNext())
{
// Map.Entry IS INNER INTERFACE OF Map INTERFACE
Map.Entry entry = (Map.Entry) itr.next();
System.out.println(entry.getKey()+" "+entry.getValue());
}
}
}
java.util.TreeMap class Example 4
/* Java TreeMap class Example 4
Save with file name TreeMapExample4.java */
import java.util.TreeMap;
import java.util.Enumeration;
public class TreeMapExample4
{
public static void main(String args[])
{
// java.util.TreeMap DECLARATION
TreeMap <String,Integer> h;
// java.util.TreeMap OBJECT CREATION
// USING DEFAULT CONSTRUCTOR
h = new TreeMap <String,Integer>();
// ADD AN ELEMENTS
h.put("ONE", new Integer(1));
h.put("TWO", new Integer(2));
h.put("THREE", new Integer(3));
System.out.println("isEmpty : " + h.isEmpty());
// RETURNS THE NUMBER OF KEYS IN THIS TreeMap
System.out.println("noof Keys : " + h.size());
System.out.println("Key ONE value : " + h.get("ONE"));
System.out.println("Contains key THREE : " + h.containsKey("THREE"));
System.out.println("Contains value 2 : " + h.containsValue(new Integer(2)));
}
}
How to save TreeMap into file
The following example shows how to save TreeMap into file.
/* How to save TreeMap into file Example
Save with file name TreeMapExample5.java */
import java.util.TreeMap;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
public class TreeMapExample5
{
public static void main(String args[])
{
try
{
// java.util.TreeMap DECLARATION
TreeMap <String,Integer> h;
// java.util.TreeMap OBJECT CREATION
// USING DEFAULT CONSTRUCTOR
h = new TreeMap <String,Integer>();
// ADD AN ELEMENTS
h.put("ONE", new Integer(1));
h.put("TWO", new Integer(2));
h.put("THREE", new Integer(3));
// FileOutputStream CREATION
FileOutputStream fos = new FileOutputStream("treemap.set");
// ObjectOutputStream CREATION
ObjectOutputStream oos = new ObjectOutputStream(fos);
// WRITE Set OBJECT TO ObjectOutputStream
oos.writeObject(h);
// CLOSE THE ObjectOutputStream
oos.close();
System.out.println("TreeMap Saved into File Sucessfully");
}
catch(Exception e)
{
System.out.println("Error Occurred : " + e.getMessage());
}
}
}
How to retrieve TreeMap from file
The following example shows how to retrieve TreeMap from file.
/* How to retrieve TreeMap from file Example
Save with file name TreeMapExample6.java */
import java.util.TreeMap;
import java.io.FileInputStream;
import java.io.ObjectInputStream;
public class TreeMapExample6
{
public static void main(String args[])
{
try
{
// java.util.TreeMap DECLARATION
TreeMap <String,Integer> h;
// FileInputStream CREATION
FileInputStream fis = new FileInputStream("treemap.set");
// ObjectInputStream CREATION
ObjectInputStream ois = new ObjectInputStream(fis);
// READ TreeMap OBJECT FROM ObjectInputStream
h = (TreeMap) ois.readObject();
ois.close();
System.out.println(h);
}
catch(Exception e)
{
System.out.println("Error Occurred : " + e.getMessage());
}
}
}