Back
Close

6 ways to iterate or loop a Map in Java

Damith
7,088 views

There are multiple ways to iterate or loop a Map in Java.

Using foreach in Java 8

If you using Java 8 this is the easiest way to loop the Map.

// {...}
Map<Integer, String> customers = new HashMap<>();
customers.put(1, "Jhon");
customers.put(2, "Smith");
customers.put(3, "Sally");
System.out.println("Using foreach in Java 8");
customers.forEach((id, name) -> {
System.out.println("Key : " + id + " value : " + name);
});
//{...}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Using stream() in Java 8

This is also using in Java 8. If you want to filter some data while looping this is one of best way to do that.

// {...}
Map<Integer, String> customers = new HashMap<>();
customers.put(1, "Jhon");
customers.put(2, "Smith");
customers.put(3, "Sally");
System.out.println("");
customers.entrySet().stream().forEach(e ->
System.out.println("Key : " + e.getKey() + " value : " + e.getValue())
);
//{...}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Using entrySet()

// {...}
Map<Integer, String> customers = new HashMap<>();
customers.put(1, "Jhon");
customers.put(2, "Smith");
customers.put(3, "Sally");
for (Map.Entry<Integer, String> entry : customers.entrySet()) {
System.out.println("Key : " + entry.getKey() + " value : " + entry.getValue());
}
//{...}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Using keySet()

// {...}
Map<Integer, String> customers = new HashMap<>();
customers.put(1, "Jhon");
customers.put(2, "Smith");
customers.put(3, "Sally");
for (Integer key : customers.keySet()) {
System.out.println("Key : " + key + " value : " + customers.get(key));
}
//{...}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Using iterator through map

This way is more suitable for when you need to remove some data while iterating.

// {...}
Map<Integer, String> customers = new HashMap<>();
customers.put(1, "Jhon");
customers.put(2, "Smith");
customers.put(3, "Sally");
Iterator<Map.Entry<Integer, String>> iterator = customers.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry entry = iterator.next();
System.out.println("Key : " + entry.getKey() + " value : " + entry.getValue());
}
//{...}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Using iterator through the KeySet

// {...}
Map<Integer, String> customers = new HashMap<>();
customers.put(1, "Jhon");
customers.put(2, "Smith");
customers.put(3, "Sally");
Iterator<Integer> iterator = customers.keySet().iterator();
while (iterator.hasNext()) {
Integer key = iterator.next();
System.out.println("Key : " + key + " value : " + customers.get(key));
}
//{...}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Original post :- http://mydevgeek.com/6-ways-iterate-loop-map-java/

Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.
Go to tech.io
codingame x discord
Join the CodinGame community on Discord to chat about puzzle contributions, challenges, streams, blog articles - all that good stuff!
JOIN US ON DISCORD
Online Participants