Como Iterar Sobre Cada Elemento do Mapa em Java
- Como Iterar Elementos do Mapa em Java
-
Elementos Iterativos
Map
Utilizandofor
loop em Java -
Iterar os elementos
Map
utilizandoforeach
em Java -
Iterate
Map
Elementos utilizandoEntry
eIterator
em Java -
Iterate
Map
Elementos utilizandofor-each
ekeySet()
em Java -
Iterate
Map
Elementos que utilizamwhile
loop em Java -
Iterate
Map
Elementos utilizandoStream
eforEach
em Java -
Iterate Map Elements Utilizando
forEach
elambda
em Java
Este tutorial introduz como iterar sobre cada elemento do mapa e lista alguns exemplos de códigos para entendê-lo.
Como Iterar Elementos do Mapa em Java
O mapa é uma interface que é usada para coletar dados na forma de par de valores-chave. Java fornece várias maneiras de iterar elementos do mapa, tais como for
loop, for-each
loop, while
loop, forEach()
método, etc. Vamos ver os exemplos.
Elementos Iterativos Map
Utilizando for
loop em Java
Utilizamos um simples loop for
para iterar os elementos do Map
. Aqui, no laço é utilizado o método de iterator()
para obter entradas.
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class SimpleTesting {
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
map.put(10, "Ten");
map.put(100, "Hundred");
map.put(1000, "Thousand");
for (Iterator<Map.Entry<Integer, String>> entries = map.entrySet().iterator();
entries.hasNext();) {
Map.Entry<Integer, String> entry = entries.next();
System.out.println(entry.getKey() + " : " + entry.getValue());
}
}
}
Resultado:
100 : Hundred
1000 : Thousand
10 : Ten
Iterar os elementos Map
utilizando foreach
em Java
Utilizamos o método for-each
e entrySet()
para iterar cada entrada do mapa. O entrySet()
devolve um array de entradas do mapa.
import java.util.HashMap;
import java.util.Map;
public class SimpleTesting {
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
map.put(10, "Ten");
map.put(100, "Hundred");
map.put(1000, "Thousand");
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + ":" + entry.getValue());
}
}
}
Resultado:
100 : Hundred
1000 : Thousand
10 : Ten
Iterate Map
Elementos utilizando Entry
e Iterator
em Java
O método iterator()
retorna um iterator
para atravessar os elementos enquanto que o método Entry
é utilizado para recolher a entrada do Map
.
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class SimpleTesting {
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
map.put(10, "Ten");
map.put(100, "Hundred");
map.put(1000, "Thousand");
Iterator<Map.Entry<Integer, String>> entries = map.entrySet().iterator();
while (entries.hasNext()) {
Map.Entry<Integer, String> entry = entries.next();
System.out.println(entry.getKey() + ":" + entry.getValue());
}
}
}
Resultado:
100 : Hundred
1000 : Thousand
10 : Ten
Iterate Map
Elementos utilizando for-each
e keySet()
em Java
O método keySet()
é utilizado para coletar o array de chaves do Map
que é utilizado para iterar utilizando o for-each
loop.
import java.util.HashMap;
import java.util.Map;
public class SimpleTesting {
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
map.put(10, "Ten");
map.put(100, "Hundred");
map.put(1000, "Thousand");
for (Integer key : map.keySet()) {
System.out.println(key + " : " + map.get(key));
}
}
}
Resultado:
100 : Hundred
1000 : Thousand
10 : Ten
Iterate Map
Elementos que utilizam while
loop em Java
Aqui, utilizamos o método iterator()
para obter o iterador de chaves e depois iterar estas chaves utilizando o método while-loop. Para obter valor por uma chave, utilizamos o método get()
.
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class SimpleTesting {
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
map.put(10, "Ten");
map.put(100, "Hundred");
map.put(1000, "Thousand");
Iterator<Integer> itr = map.keySet().iterator();
while (itr.hasNext()) {
Integer key = itr.next();
System.out.println(key + " : " + map.get(key));
}
}
}
Resultado:
100 : Hundred
1000 : Thousand
10 : Ten
Iterate Map
Elementos utilizando Stream
e forEach
em Java
Podemos usar o fluxo para iterar os elementos. Aqui, utilizamos entrySet()
para coletar inteiros de mapas que atravessaram mais adiante através do método forEach()
de fluxo.
import java.util.HashMap;
import java.util.Map;
public class SimpleTesting {
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
map.put(10, "Ten");
map.put(100, "Hundred");
map.put(1000, "Thousand");
map.entrySet().stream().forEach(System.out::println);
}
}
Resultado:
100=Hundred
1000=Thousand
10=Ten
Iterate Map Elements Utilizando forEach
e lambda
em Java
Também podemos usar a expressão lambda para iterar os elementos do mapa. Aqui, utilizamos a expressão lambda dentro do método forEach()
.
import java.util.HashMap;
import java.util.Map;
public class SimpleTesting {
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
map.put(10, "Ten");
map.put(100, "Hundred");
map.put(1000, "Thousand");
map.forEach((key, value) -> System.out.println(key + " : " + value));
}
}
Resultado:
100 : Hundred
1000 : Thousand
10 : Ten
Artigo relacionado - Java Map
- Crie um map ordenado em Java
- Crie um map em Java
- Diferença entre hashmap e map em Java
- Como converter JSON para mapa em Java
- Como obter a chave do valor em Java Hashmap