There is no direct iteration over Maps. To iterate over map, get Set of keys or key-value pairs from Map. Maps do not provide an iterator() method as do Lists and Sets. A Set of either keys (
keySet()
) or key-value Map.Entry elements (entrySet()
) can be obtained from the Map, and one can iterate over that. Order of map elements in iteration
The order of the elements obtained from a Map depends on the type of Map they came from.- TreeMap
- The elements are ordered by key.
- HashMap
- The elements will be in an unpredictable, "chaotic", order.
- LinkedHashMap
- The elements will be ordered by entry order or last reference order, depending on the type of LinkedHashMap.
Example - Iterating over the "entry set"
This example utility method prints the key-value pairs in a map. This utility method is designed to work for all Maps, so it isn't able to take advantage of generics.//=====utility method dumpMap
public static void dumpMap(Map mp) {
Iterator it = mp.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pairs = (Map.Entry)it.next();
System.out.println(pairs.getKey() +
" = " + pairs.getValue());
}
}
No comments:
Post a Comment