How to iterate maps in java
How to iterate maps in Java.
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class MapTest {
public static void main(String[] args) {
Map<String, Integer> persons = new HashMap<String, Integer>();
persons.put("Andy", 30);
persons.put("Mike", 25);
// use for - key
for (String k: persons.keySet()) {
System.out.println(k + " " + persons.get(k));
}
// use for - value
for (Integer v: persons.values()) {
System.out.println(v);
}
// use for - entry
for (Map.Entry<String, Integer> entry: persons.entrySet()) {
System.out.println(entry.getKey() + " " + entry.getValue());
}
// use iterator
Iterator<Map.Entry<String, Integer>> iter = persons.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry<String, Integer> p = iter.next();
System.out.println(p.getKey() + " " + p.getValue());
}
// use lambda - java8
persons.forEach((k, v) -> System.out.println(k + " " + v));
// use streams - java8
persons.entrySet().stream().forEach((entry) -> {
System.out.println(entry.getKey() + " " + entry.getValue());
});
}
}