There are many ways to iterate through a Map in Java.
In this tutorial, we will cover the following:
- Using the for-each loop
- Using Iterator interface
- Using Java 8 forEach method
Iterate through Map in Java using the for-each loop
Example
class Test { public static void main(String[] args) { Map<Integer, String> map = new HashMap<>(); map.put(1, "Java"); map.put(7, "Python"); map.put(10, "Ruby"); map.put(3, "Kotlin"); for (Map.Entry<Integer, String> entry : map.entrySet()) { System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); } } }
Output: Key = 1, Value = Java Key = 3, Value = Kotlin Key = 7, Value = Python Key = 10, Value = Ruby
Here, we used the entrySet() method that returns a collection-view (Set<Map.Entry<K, V>>) of the mappings contained in this map. And we used entry.getKey() to retrieve the key and entry.getValue() to retrieve the current iteration value.
Additionally, check out a tutorial about Java for loops which includes an example of a for-each loop.
Iterate through Map using Iterator
We can use the Iterator interface to iterate over a Map.
If you need a refresher on interfaces, check out our tutorial on Interface in Java.
Example
class Test { public static void main(String[] args) { Map<Integer, String> map = new HashMap<>(); map.put(1, "Java"); map.put(7, "Python"); map.put(10, "Ruby"); map.put(3, "Kotlin"); Iterator<Map.Entry<Integer, String>> itr = map.entrySet().iterator(); while (itr.hasNext()) { Map.Entry<Integer, String> entry = itr.next(); System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); } } }
Output: Key = 1, Value = Java Key = 3, Value = Kotlin Key = 7, Value = Python Key = 10, Value = Ruby
Using Java 8 forEach method
Example
class Test { public static void main(String[] args) { Map<Integer, String> map = new HashMap<>(); map.put(1, "Java"); map.put(7, "Python"); map.put(10, "Ruby"); map.put(3, "Kotlin"); map.forEach((k, v) -> System.out.println("Key = " + k + ", Value = " + v)); } }
Output: Key = 1, Value = Java Key = 3, Value = Kotlin Key = 7, Value = Python Key = 10, Value = Ruby
Happy coding!