Following are some of the ways to traverse TreeMap in
Java.
a. Using the
entrySet method.
/* Method 1 to traverse */
public static void
traverseMapUsingEntrySet(Map<Integer, String> map) {
Iterator<Map.Entry<Integer,
String>> it = map.entrySet().iterator();
while
(it.hasNext()) {
Map.Entry<Integer,
String> entry = it.next();
System.out.println(entry.getKey()
+ " = " + entry.getValue());
}
}
b. By using keySet
method and for-each loop
/* Method 2 to traverse*/
public static void traverseMapUsingKeySet(Map<Integer,
String> map) {
Set<Integer>
keys = map.keySet();
for
(Integer key : keys) {
System.out.println(key
+ " = " + map.get(key));
}
}
c. Using for-each
loop and entrySet
/* Method 3 to traverse*/
public static void
traverseMapUsingForEach(Map<Integer, String> map) {
for
(Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println(entry.getKey()
+ " = " + entry.getValue());
}
}
d. Using keyset
iterator
/* Method 4 to traverse*/
public static void
traverseMapUsingKeySetIter(Map<Integer, String> map) {
Set<Integer>
keys = map.keySet();
Iterator<Integer>
iter = keys.iterator();
while
(iter.hasNext()) {
int
key = iter.next();
System.out.println(key
+ " = " + map.get(key));
}
}
e. Using streams
Streams are introduced in Java8, you can go through
following link to know more about Java8 features and streams.
/* Method 5 to traverse */
public static void
traverseMapUsingStreams(Map<Integer, String> map) {
map.entrySet().stream().forEach(System.out::println);
}
Following is the
complete working application.
import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.TreeMap; public class TreeMapTraversalDemo { /* Method 1 to traverse */ public static void traverseMapUsingEntrySet(Map<Integer, String> map) { Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry<Integer, String> entry = it.next(); System.out.println(entry.getKey() + " = " + entry.getValue()); } } /* Method 2 to traverse */ public static void traverseMapUsingKeySet(Map<Integer, String> map) { Set<Integer> keys = map.keySet(); for (Integer key : keys) { System.out.println(key + " = " + map.get(key)); } } /* Method 3 to traverse */ public static void traverseMapUsingForEach(Map<Integer, String> map) { for (Map.Entry<Integer, String> entry : map.entrySet()) { System.out.println(entry.getKey() + " = " + entry.getValue()); } } /* Method 4 to traverse */ public static void traverseMapUsingKeySetIter(Map<Integer, String> map) { Set<Integer> keys = map.keySet(); Iterator<Integer> iter = keys.iterator(); while (iter.hasNext()) { int key = iter.next(); System.out.println(key + " = " + map.get(key)); } } /* Method 5 to traverse */ public static void traverseMapUsingStreams(Map<Integer, String> map) { map.entrySet().stream().forEach(System.out::println); } public static void main(String args[]) { Map<Integer, String> treeMap = new TreeMap<>(); treeMap.put(1, "Hari Krishna"); treeMap.put(2, "Jaideep"); treeMap.put(3, "Sailaja"); treeMap.put(4, "Sankalp"); System.out.println("Traverse Using the entrySet"); System.out.println("**************************"); traverseMapUsingEntrySet(treeMap); System.out.println("Traverse Using the keySet"); System.out.println("**************************"); traverseMapUsingKeySet(treeMap); System.out.println("Traverse Using the for-each"); System.out.println("**************************"); traverseMapUsingForEach(treeMap); System.out.println("Traverse Using the keySet iterator"); System.out.println("**************************"); traverseMapUsingKeySetIter(treeMap); System.out.println("Traverse Using stream"); System.out.println("**************************"); traverseMapUsingStreams(treeMap); } }
Output
Traverse Using the entrySet ************************** 1 = Hari Krishna 2 = Jaideep 3 = Sailaja 4 = Sankalp Traverse Using the keySet ************************** 1 = Hari Krishna 2 = Jaideep 3 = Sailaja 4 = Sankalp Traverse Using the for-each ************************** 1 = Hari Krishna 2 = Jaideep 3 = Sailaja 4 = Sankalp Traverse Using the keySet iterator ************************** 1 = Hari Krishna 2 = Jaideep 3 = Sailaja 4 = Sankalp Traverse Using stream ************************** 1=Hari Krishna 2=Jaideep 3=Sailaja 4=Sankalp
You may like
No comments:
Post a Comment