En este ejemplo, aprenderemos a iterar sobre claves, valores y asignaciones clave / valor de un HashMap de Java.
Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de Java:
- Java HashMap
- Java para cada bucle
- Interfaz de iterador de Java
En Java HashMap, podemos iterar a través de sus claves , valores y asignaciones clave / valor .
Ejemplo 1: iterar a través de HashMap usando el bucle forEach
import java.util.HashMap; import java.util.Map.Entry; class Main ( public static void main(String() args) ( // Creating a HashMap HashMap languages = new HashMap(); languages.put("Java", "Enterprise"); languages.put("Python", "ML/AI"); languages.put("JavaScript", "Frontend"); System.out.println("HashMap: " + languages); // iterating through key/value mappings System.out.print("Entries: "); for(Entry entry: languages.entrySet()) ( System.out.print(entry); System.out.print(", "); ) // iterating through keys System.out.print("Keys: "); for(String key: languages.keySet()) ( System.out.print(key); System.out.print(", "); ) // iterating through values System.out.print("Values: "); for(String value: languages.values()) ( System.out.print(value); System.out.print(", "); ) ) )
Salida
HashMap: (Java = Enterprise, JavaScript = Frontend, Python = ML / AI) Entradas: Java = Enterprise, JavaScript = Frontend, Python = ML / AI, Claves: Java, JavaScript, Python, Valores: Enterprise, Frontend, ML / AI ,
En el ejemplo anterior, hemos creado un mapa de hash llamado languages. Aquí, hemos utilizado el forEach
ciclo para iterar a través de los elementos del mapa hash.
Observe que estamos iterando de forma independiente a través de las claves , valores y asignaciones clave / valor .
- languages.entrySet (): devuelve la vista establecida de todas las entradas
- languages.keySet (): devuelve la vista establecida de todas las claves
- languages.values (): devuelve la vista establecida de todos los valores
Nota : hemos utilizado la Map.Entry
clase. Es la clase anidada que devuelve una vista del mapa.
Ejemplo 2: iterar a través de HashMap usando iterator ()
import java.util.HashMap; import java.util.Iterator; import java.util.Map.Entry; class Main ( public static void main(String() args) ( // create a HashMap HashMap languages = new HashMap(); languages.put("Java", "Enterprise"); languages.put("Python", "ML/AI"); languages.put("JavaScript", "Frontend"); System.out.println("HashMap: " + languages); // create an object of Iterator Iterator iterate1 = languages.entrySet().iterator(); // iterate through key/value mappings System.out.print("Entries: "); while(iterate1.hasNext()) ( System.out.print(iterate1.next()); System.out.print(", "); ) // iterate through keys Iterator iterate2 = languages.keySet().iterator(); System.out.print("Keys: "); while(iterate2.hasNext()) ( System.out.print(iterate2.next()); System.out.print(", "); ) // iterate through values Iterator iterate3 = languages.values().iterator(); System.out.print("Values: "); while(iterate3.hasNext()) ( System.out.print(iterate3.next()); System.out.print(", "); ) ) )
Salida
HashMap: (Java = Enterprise, JavaScript = Frontend, Python = ML / AI) Entradas: Java = Enterprise, JavaScript = Frontend, Python = ML / AI, Claves: Java, JavaScript, Python, Valores: Enterprise, Frontend, ML / AI ,
En el ejemplo anterior, estamos iterando a través de claves, valores y asignaciones clave / valor del mapa hash. Hemos utilizado el iterator()
método para iterar sobre el mapa hash. Aquí,
- hasNext () : devuelve
true
si hay un elemento siguiente en el mapa hash - next () : devuelve el siguiente elemento del mapa hash
Nota : También podemos usar el método HashMap forEach () para iterar sobre el mapa hash.