logo

Cómo iterar el mapa en Java

En Java, la iteración sobre Map se puede realizar de varias maneras. Recuerde que no podemos iterar sobre el mapa directamente usando iteradores , porque la interfaz del Mapa no es parte de la Colección. Todos los mapas en implementos Java. Mapa interfaz. Existen los siguientes tipos de mapas en Java:

  • HashMap
  • ÁrbolMapa
  • LinkedHashMap

Un mapa no es una Colección, pero aún así, considérelo en el marco de Colecciones. Por lo tanto, un Mapa es una interfaz que no extiende la interfaz de Colecciones.

Iterador

Un iterador es una interfaz utilizada para iterar sobre una colección. Ocupa el lugar de la enumeración en el marco de colecciones de Java. La diferencia entre iterador y enumeración es:

  • El iterador puede atravesar elementos heredados y no heredados, mientras que la enumeración solo puede atravesar elementos heredados.
  • Iterator es rápido, mientras que Enumeration no es rápido.

Vistas de colección

El método de vistas de colección permite ver un mapa como una colección de las siguientes maneras:

    juego de llaves:Es el conjunto de claves contenidas en el Mapa.valores:Es la colección de valores contenidos en el Mapa.conjunto de entrada:Es un conjunto de pares clave-valor en el mapa.

La interfaz del Mapa también tiene una pequeña interfaz anidada llamada Entrada.mapa . La vista de colección proporciona el único medio para iterar sobre un mapa.

que es rom

Usando la interfaz Iterador

Ejemplo de iteración 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)); } } } 

Producción:

programas de muestra 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 el método keyset() y value()

juego de llaves(): A juego de llaves() método de HashMap La clase se utiliza para iterar sobre las claves contenidas en el mapa. Devuelve la vista Establecer de las claves.

Sintaxis

 Set keyset() 

valores(): A valores() método de HashMap La clase se utiliza para iterar sobre los valores contenidos en el mapa. Devuelve una vista de colección de los valores.

Sintaxis

 Collection values() 

Ejemplo

diferencia entre árbol binario y árbol de búsqueda binaria
 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); } } 

Producción:

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

Usando el método Map.entry

Map.Entry es una interfaz. Devuelve una vista de colección del mapa, cuyos elementos son de esta clase.

Un método map.entrySet() devuelve una vista Set de la asignación contenida en el mapa. Los cambios en el mapa también se reflejan en el Set y viceversa. También admite la eliminación de elementos, lo que elimina el mapeo correspondiente del mapa.

Sintaxis

java principal
 Set<map.entry> entrySet() </map.entry>

Ejemplo

 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()); } } } 

Producción:

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

Iteración sobre claves y obtención de valores.

Ejemplo

En el siguiente ejemplo, primero iteramos sobre las claves y luego obtenemos los 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); } } } 

Producción:

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

Usando el método forEach()

El para cada() método de Lista de arreglo se utiliza para realizar una acción para cada elemento del Iterable hasta que todos los elementos hayan sido procesados.

Sintaxis

 public void forEach(Consumer action) 

El método toma la acción (la acción que se realizará para cada elemento) como parámetro. No devuelve nada. arroja Excepción de puntero nulo si la acción especificada es nula.

conversión de cadena a int en java

Ejemplo

En el siguiente ejemplo, utilizamos la expresión lambda dentro del método forEach() para imprimir cada elemento del 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)); } } 

Producción:

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