Java Arrays almacena elementos en una colección ordenada y se puede acceder a los valores usando el índice (un número entero). Mientras que HashMap se almacena como un par clave/valor . Usando HashMap, podemos almacenar los elementos o valores y se puede acceder a estos valores mediante índices/claves de cualquier tipo, ya sea entero, string, doble, carácter o cualquier tipo de datos definido por el usuario.
Las asignaciones en un HashMap son de Clave → Valor
HashMap es parte de Java desde Java 1.2. Implementa la interfaz java.util.Map .
¿Qué es Generic Map y en qué se diferencia del término HashMap?
El término genérico simplemente es la idea de permitir que el tipo (entero, doble, string, etc. o cualquier tipo definido por el usuario) sea el parámetro de los métodos, la clase o la interfaz. Por ejemplo, todas las colecciones incorporadas en Java como ArrayList , HashSet , HashMap , etc. usan genéricos.
El mapa genérico en un lenguaje simple se puede generalizar como:
Map< K, V > map = new HashMap< K, V >();
Donde K y V se usan para especificar el parámetro de tipo genérico pasado en la declaración de un HashMap. Podemos agregar cualquier tipo, ya sea Integer, String, Float, Character o cualquier tipo definido por el usuario en lugar de K y V en la sintaxis anterior para especificar que podemos inicializar el HashMap de nuestro deseo.
Ejemplo:
Supongamos que si la clave es de tipo String y el valor correspondiente es de tipo Integer, entonces podemos inicializarla como,
Map< String , Integer > map = new HashMap< String ,Integer >();
El mapa ahora solo puede aceptar instancias de strings como clave e instancias de enteros como valores.
Acceso a un mapa genérico
Esto se puede hacer usando las funciones put() y get().
1. put() : se usa para agregar un nuevo par clave/valor al Hashmap.
2. get() : se utiliza para obtener el valor correspondiente a una clave en particular.
Ejemplo :
Map< Integer, String > map = new HashMap<>(); // adding the key 123 and value // corresponding to it as abc in the map map.put( 123, "abc"); map.put(65, "a"); map.put(2554 , "GFG"); map.get(65);
Producción:
a
Iterando un mapa genérico
El mapa tiene dos colecciones para la iteración . Uno es keySet() y el otro es values() .
Ejemplo: Usar el método iterator()
Map<Integer, Integer> map = new HashMap<>; //adding key, value pairs to the Map // iterate keys. Iterator<Integer> key = map.keySet().iterator(); while(key.hasNext()){ Integer aKey = key.next(); String aValue = map.get(aKey); } Iterator<Integer> value = map.values().iterator(); while(valueIterator.hasNext()){ String aString = value.next(); }
Ejemplo: usar un nuevo bucle for o un bucle for each o un bucle for genérico
Map<Integer, String> map = new HashMap<Integer, String>; //adding key, value pairs to the Map //using for-each loop for(Integer key : map.keySet()) { String value = map.get(key); System.out.println("" + key + ":" + value); } for(String value : map.values()) { System.out.println(value); }
Programa Java para ilustrar el uso de un mapa
Java
// Java program to demonstrate // Generic Map import java.io.*; import java.util.*; class GenericMap { public static void main(String[] args) { // create array of strings String arr[] = { "gfg", "code", "quiz", "program", "code", "website", "quiz", "gfg", "java", "gfg", "program" }; // to count the frequency of a string and store it // in the map Map<String, Integer> map = new HashMap<>(); for (int i = 0; i < arr.length; i++) { if (map.containsKey(arr[i])) { int count = map.get(arr[i]); map.put(arr[i], count + 1); } else { map.put(arr[i], 1); } } // to get and print the count of the mentioned // string System.out.println(map.get("gfg")); System.out.println(map.get("code")); } }
3 2
Publicación traducida automáticamente
Artículo escrito por goelshubhangi3118 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA