logo

Como iterar o mapa em Java

Em Java, a iteração sobre Map pode ser feita de várias maneiras. Lembre-se de que não podemos iterar diretamente no mapa usando iteradores , porque a interface do mapa não faz parte da coleção. Todos os mapas em implementos Java Mapa interface. Existem os seguintes tipos de mapas em Java:

  • HashMap
  • ÁrvoreMapa
  • LinkedHashMap

Um mapa não é uma coleção, mas ainda assim, considere-o na estrutura de coleções. Conseqüentemente, um Mapa é uma interface que não estende a interface Coleções.

Iterador

Um iterador é uma interface usada para iterar em uma coleção. Ele toma o lugar da Enumeração no Java Collections Framework. A diferença entre iterador e enumeração é:

  • O Iterador pode percorrer elementos legados e não legados, enquanto a Enumeração pode percorrer apenas elementos legados.
  • O iterador é resistente a falhas, enquanto a enumeração não é rápida a falhas.

Visualizações da coleção

O método de visualizações de coleção permite que um mapa seja visualizado como uma Coleção das seguintes maneiras:

    conjunto de chaves:É o conjunto de chaves contidas no Mapa.valores:É a coleção de valores contidos no Mapa.conjunto de entrada:É um conjunto de pares de valores-chave no Mapa.

A interface do Mapa também possui uma pequena interface aninhada chamada Entrada do mapa . A visualização da coleção fornece o único meio de iterar em um mapa.

lista de estados

Usando a interface do Iterador

Exemplo de iteração sobre HashMap

 public static void main(String args[]) { HashMap hm = new HashMap(); //implements map interface hm.put(110,'Ravi'); hm.put(120,'Prateek'); hm.put(130, 'Davesh'); hm.put(140, 'Kamal'); hm.put(150, 'Pawan'); Iterator it = hm.keySet().iterator(); //keyset is a method while(it.hasNext()) { int key=(int)it.next(); System.out.println('Roll no.: '+key+' name: '+hm.get(key)); } } } 

Saída:

entrada java
 Roll no.: 130 name: Davesh Roll no.: 150 name: Pawan Roll no.: 120 name: Prateek Roll no.: 140 name: Kamal Roll no.: 110 name: Ravi 

Usando os métodos keyset() e value()

conjunto de chaves(): A conjunto de chaves() método de HashMap class é usada para iteração sobre as chaves contidas no mapa. Ele retorna a visualização Set das chaves.

Sintaxe

 Set keyset() 

valores(): A valores() método de HashMap class é usada para iteração sobre os valores contidos no mapa. Ele retorna uma visão de coleção dos valores.

Sintaxe

 Collection values() 

Exemplo

linux menta canela vs companheiro
 import java.util.Map; import java.util.HashMap; class IterationExample2 { public static void main(String[] arg) { Map map = new HashMap(); map.put('Gujarat', 'Gandhi Nagar'); map.put('Uttar Pradesh', 'Lucknow'); map.put('Sikkim', 'Ganagtok'); for (String State : map.keySet()) //using keyset() method for iteration over keySet System.out.println('State: ' + State); for (String Capital : map.values()) //using values() for iteration over keys System.out.println('Capiatl: ' + Capital); } } 

Saída:

 State: Gujarat State: Sikkim State: Uttar Pradesh Capital: Gandhi Nagar Capital: Ganagtok Capital: Lucknow 

Usando Map.entrymethod

Map.Entry é uma interface. Retorna uma visão de coleção do mapa, cujos elementos são desta classe.

Um método map.entrySet() retorna uma visualização Set do mapeamento contido no mapa. As mudanças no mapa também são refletidas no Conjunto e vice-versa. Ele também suporta a remoção de elementos, o que remove o mapeamento correspondente do mapa.

Sintaxe

como ler um arquivo json
 Set<map.entry> entrySet() </map.entry>

Exemplo

 import java.util.*; class IterationExample3 { public static void main(String[] arg) { Map map = new HashMap(); map.put(&apos;Cookies&apos;, 90.87f); map.put(&apos;Dry Fruits&apos;, 434.23f); map.put(&apos;Oats&apos;, 220.00f); map.put(&apos;Chocolate&apos;, 70.89f); for (Map.Entry entry : map.entrySet()) //using map.entrySet() for iteration { //returns keys and values respectively System.out.println(&apos;Item: &apos; + entry.getKey() + &apos;, Price: &apos; + entry.getValue()); } } } 

Saída:

 Item: Oats, Price: 220.0 Item: Dry Fruits, Price: 434.23 Item: Cookies, Price: 90.87 Item: Chocolate, Price: 70.89 

Iteração sobre chaves e obtenção de valores

Exemplo

No exemplo a seguir, primeiro iteramos as chaves e depois obtemos os valores.

 import java.util.*; class IterationExample4 { public static void main(String[] arg) { Map map = new HashMap(); map.put(&apos;Sumit&apos;, &apos;Singh&apos;); map.put(&apos;Devesh&apos;, &apos;Mishra&apos;); map.put(&apos;Rahul&apos;, &apos;Tiwari&apos;); for (String name: map.keySet()) //iteration over keys { //returns the value to which specified key is mapped String lastname=map.get(firstname); System.out.println(&apos;Key: &apos; + name + &apos;, Value: &apos; + lastname); } } } 

Saída:

 Key: Rahul, Value: Tiwari Key: Devesh, Value: Mishra Key: Sumit, Value: Singh 

Usando o método forEach()

O para cada() método de ListaArray é usado para executar uma ação para cada elemento do Iterable até que todos os elementos tenham sido processados.

Sintaxe

 public void forEach(Consumer action) 

O método toma ação (a ação a ser executada para cada elemento) como parâmetro. Não retorna nada. Isso joga Null Pointer Exception se a ação especificada for nula.

se por rudyard kipling resumo

Exemplo

No exemplo a seguir, estamos usando a expressão lambda dentro do método forEach() para imprimir cada elemento do mapa.

 import java.util.Map; import java.util.HashMap; class IterationExample5 { public static void main(String[] arg) { Map map = new HashMap(); map.put(&apos;TCS&apos;, &apos;0 billion&apos;); map.put(&apos;Wipro&apos;, &apos;.5 billion&apos;); //iteration over map using forEach() method map.forEach((k,v) -&gt; System.out.println(&apos;Company: &apos;+ k + &apos;, Net worth: &apos; + v)); } } 

Saída:

 Company: Wipro, Net worth: .5 billion Company: TCS, Net worth: 0 billion