logo

¿Cómo iterar HashMap en Java?

HashMap es parte de la colección de Java que proporciona la implementación básica de la interfaz Map de Java al almacenar los datos en pares (Clave, Valor) para acceder a ellos mediante un índice de otro tipo. Un objeto aparece como clave (índice) de otro objeto (valor). Si intenta insertar la clave duplicada, reemplazará el elemento de la clave correspondiente. Para utilizar esta clase y sus métodos, es necesario importar java.util.HashMap paquete o su superclase.

Hay numerosas formas de iterar sobre HashMap, de las cuales 5 se enumeran a continuación:

  1. Iterar a través de un HashMap Conjunto de entrada utilizando iteradores.
  2. Iterar a través de HashMap Juego de llaves usando iterador.
  3. Iterar HashMap usando para cada bucle .
  4. Iterando a través de un HashMap usando expresiones Lambda.
  5. Recorre un HashMap usando API de transmisión .

Método 1: usar un bucle for para iterar a través de un HashMap. Iterando un HashMap a través de un bucle for para usarlo obtenerValor() y obtener la clave() funciones.



Implementación: En el código que figura a continuación, conjunto de entrada() se utiliza para devolver una vista establecida de elementos mapeados. Del código que figura a continuación:

  • set.getValue() para obtener el valor del conjunto.
  • set.getKey() para obtener la clave del conjunto.

Java




// Java Program to Iterate over HashMap> // Importing Map and HashMap classes> // from package names java.util> import> java.util.HashMap;> import> java.util.Map;> // Class for iterating HashMap using for loop> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Creating a HashMap> >Map foodTable> >=>new> HashMap();> >// Inserting elements to the adobe HashMap> >// Elements- Key value pairs using put() method> >foodTable.put(>'A'>,>'Angular'>);> >foodTable.put(>'J'>,>'Java'>);> >foodTable.put(>'P'>,>'Python'>);> >foodTable.put(>'H'>,>'Hibernate'>);> >// Iterating HashMap through for loop> >for> (Map.Entry set :> >foodTable.entrySet()) {> >// Printing all elements of a Map> >System.out.println(set.getKey() +>' = '> >+ set.getValue());> >}> >}> }>

>

>

Producción

P = Python A = Angular H = Hibernate J = Java>

Método 2: usar forEach para iterar a través de un HashMap. En el segundo método, la función forEach itera los pares clave-valor.

Java




// Java Program to Iterate over HashMap> // Iterating HashMap using forEach> // Importing Map and HashMap classes> // from package names java.util> import> java.util.HashMap;> import> java.util.Map;> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Creating hash map> >Map charType> >=>new> HashMap();> >// Inserting data in the hash map.> >charType.put(>'J'>,>'Java'>);> >charType.put(>'H'>,>'Hibernate'>);> >charType.put(>'P'>,>'Python'>);> >charType.put(>'A'>,>'Angular'>);> >// Iterating HashMap through forEach and> >// Printing all. elements in a Map> >charType.forEach(> >(key, value)> >->System.out.println(tecla +>' = '> + value));> >}> }>

>

>

Producción

P = Python A = Angular H = Hibernate J = Java>

Método 3: usar un iterador para recorrer un HashMap. En este método, se utiliza el iterador para iterar cada par mapeado en HashMap como se muestra en el siguiente programa Java.

Ejemplo:

Java




// Java Program to Iterate over HashMap> // Using Iterator> // Importing classes from java.util package> import> java.util.HashMap;> import> java.util.Iterator;> import> java.util.Map;> import> java.util.Map.Entry;> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] arguments)> >{> >// Creating Hash map> >Map intType> >=>new> HashMap();> >// Inserting data(Key-value pairs) in hashmap> >intType.put(>1>,>'First'>);> >intType.put(>2>,>'Second'>);> >intType.put(>3>,>'Third'>);> >intType.put(>4>,>'Fourth'>);> >// Iterator> >Iterator new_Iterator> >= intType.entrySet().iterator();> >// Iterating every set of entry in the HashMap> >while> (new_Iterator.hasNext()) {> >Map.Entry new_Map> >= (Map.Entry)> >new_Iterator.next();> >// Displaying HashMap> >System.out.println(new_Map.getKey() +>' = '> >+ new_Map.getValue());> >}> >}> }>

preguntas de la entrevista java

>

>


Producción

1 = First 2 = Second 3 = Third 4 = Fourth>

Método 4: iterar a través de un HashMap usando expresiones Lambda

Una expresión lambda es un bloque corto de código que toma parámetros y devuelve un valor. Las expresiones lambda son similares a los métodos, pero no necesitan un nombre y se pueden implementar directamente en el cuerpo de un método. La expresión lambda más simple contiene un único parámetro y una expresión:

parameter ->expresión>

Ejemplo:

Java




// Iterating HashMap using Lambda Expressions- forEach()> // Importing Map and HashMap classes> // from java.util package> import> java.util.HashMap;> import> java.util.Map;> // Class> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Creating hash map> >Map charType> >=>new> HashMap();> >// Inserting elements(key-value pairs)> >// in the hash map ( Custom inputs)> >charType.put(>'A'>,>'Apple'>);> >charType.put(>'B'>,>'Basketball'>);> >charType.put(>'C'>,>'Cat'>);> >charType.put(>'D'>,>'Dog'>);> >// Iterating through forEach and> >// printing the elements> >charType.forEach(> >(key, value)> >->System.out.println(tecla +>' = '> + value));> >}> }>

>

>

Producción

A = Apple B = Basketball C = Cat D = Dog>

Método 5: Recorre un HashMap usando Stream API

El siguiente ejemplo itera sobre un HashMap con la ayuda de la API de transmisión.

ruta establecida en java

Stream API se utiliza para procesar colecciones de objetos.

Las transmisiones no cambian la estructura de datos original, solo proporcionan el resultado según los métodos canalizados

Pasos :

  • Primera invocación entradaSet().stream() método que a su vez devuelve el objeto Stream.
  • Próximo para cada método , que itera los objetos de entrada que están en EntrySet(). Vea el siguiente código.

Ejemplo:

Java




// Java Program to Iterate over HashMap> // Loop through a HashMap using Stream API> // Importing classes from> // package named 'java.util'> import> java.util.HashMap;> import> java.util.Iterator;> import> java.util.Map;> import> java.util.Map.Entry;> // HashMap class> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] arguments)> >{> >// Creating hash map> >Map intType> >=>new> HashMap();> >// Inserting data(key-value pairs) in HashMap> >// Custom inputs> >intType.put(>1>,>'First'>);> >intType.put(>2>,>'Second'>);> >intType.put(>3>,>'Third'>);> >intType.put(>4>,>'Fourth'>);> >// Iterating every set of entry in the HashMap, and> >// printing all elements of it> >intType.entrySet().stream().forEach(> >input> >->System.out.println(input.getKey() +>' : '> >+ input.getValue()));> >}> }>

>

>

Producción

1 : First 2 : Second 3 : Third 4 : Fourth>