HashMap es una estructura de datos que utiliza una función hash para asignar valores de identificación, conocidos como claves, a sus valores asociados. Contiene pares “clave-valor” y permite recuperar valor por clave.
La característica más impresionante es su búsqueda rápida de elementos, especialmente para grandes no. de elementos No viene sincronizado por defecto pero podemos hacerlo llamando
Map myhash = Collections.synchronizedMap(hashMap);
en el momento de la creación, para evitar el acceso no sincronizado accidental al mapa.
Estos son varios métodos de clase hashmap importantes. Esta publicación explica: put(), get(), isEmpty() y size()
- put(): java.util.HashMap.put() desempeña un papel en la asociación del valor especificado con la clave especificada en este mapa. Si el mapa contenía anteriormente una asignación para la clave, se reemplaza el valor anterior.
Sintaxis:
public V put(K key,V value) Parameters: key - key with which the specified value is to be associated value - value to be associated with the specified key Return: the previous value associated with key, or null if there was no mapping for key.
- get(): el método java.util.HashMap.get() devuelve el valor al que se asigna la clave especificada, o nulo si este mapa no contiene ninguna asignación para la clave.
Sintaxis:
public V get(Object key) Parameters: key - the key whose associated value is to be returned Return: the value to which the specified key is mapped, or null if this map contains no mapping for the key.
- isEmpty(): el método java.util.HashMap.isEmpty() devuelve verdadero si el mapa no contiene asignaciones de clave-valor.
Sintaxis:
public boolean isEmpty() Return: true if this map contains no key-value mappings
- size(): java.util.HashMap.size() devuelve el número de asignaciones de clave-valor en este mapa.
Sintaxis:
public int size() Return: the number of key-value mappings in this map.
Implementación para ilustrar los métodos anteriores
// Java program illustrating use of HashMap methods - // put(), get(), isEmpty() and size() import java.util.*; public class NewClass { public static void main(String args[]) { // Creation of HashMap HashMap<String, String> Geeks = new HashMap<>(); // Adding values to HashMap as ("keys", "values") Geeks.put("Language", "Java"); Geeks.put("Platform", "Geeks For geeks"); Geeks.put("Code", "HashMap"); Geeks.put("Learn", "More"); System.out.println("Testing .isEmpty() method"); // Checks whether the HashMap is empty or not // Not empty so printing the values if (!Geeks.isEmpty()) { System.out.println("HashMap Geeks is notempty"); // Accessing the contents of HashMap through Keys System.out.println("GEEKS : " + Geeks.get("Language")); System.out.println("GEEKS : " + Geeks.get("Platform")); System.out.println("GEEKS : " + Geeks.get("Code")); System.out.println("GEEKS : " + Geeks.get("Learn")); // size() method prints the size of HashMap. System.out.println("Size Of HashMap : " + Geeks.size()); } } }
Producción
Testing .isEmpty() method HashMap Geeks is notempty GEEKS : Java GEEKS : Geeks For geeks GEEKS : HashMap GEEKS : More Size Of HashMap : 4
¿Cuáles son las diferencias entre HashMap y TreeMap?
- HashMap implementa la interfaz Map mientras que TreeMap implementa la interfaz SortedMap. Una interfaz de Mapa ordenado es un elemento secundario de Mapa.
- HashMap implementa Hashing, mientras que TreeMap implementa Red-Black Tree (un árbol de búsqueda binario autoequilibrado). Por lo tanto , aquí se aplican todas las diferencias entre Hashing y Balanced Binary Search Tree .
- Tanto HashMap como TreeMap tienen sus contrapartes HashSet y TreeSet. HashSet y TreeSet implementan la interfaz Set . En HashSet y TreeSet, solo tenemos clave, sin valor, estos se usan principalmente para ver presencia/ausencia en un conjunto. Para el problema anterior, no podemos usar HashSet (o TreeSet) ya que no podemos almacenar recuentos. Un problema de ejemplo en el que preferiríamos HashSet (o TreeSet) sobre HashMap (o TreeMap) es imprimir todos los elementos distintos en una array.
Consulte HashMap y TreeMap para obtener más detalles.
¿Cuáles son las diferencias entre HashMap y HashTable en Java?
- HashMap no está sincronizado. No es seguro para subprocesos y no se puede compartir entre muchos subprocesos sin el código de sincronización adecuado, mientras que Hashtable está sincronizado. Es seguro para subprocesos y se puede compartir con muchos subprocesos.
- HashMap permite una clave nula y varios valores nulos, mientras que Hashtable no permite ninguna clave o valor nulo.
- Generalmente se prefiere HashMap sobre HashTable si no se necesita la sincronización de subprocesos.
- HashMap es una versión avanzada y una mejora de Hashtable. HashMap se creó más tarde.
Consulte las diferencias entre HashMap y HashTable en Java para obtener más detalles.
¿Cuáles son las diferencias entre HashMap y HashSet?
- HashMap almacena pares de valores clave (por ejemplo, registros de estudiantes como valor y número de rollo como clave) y HashSet almacena solo claves (por ejemplo, un conjunto si son números enteros).
- HashSet usa internamente HashMap para almacenar claves
Consulte HashSet en Java para obtener más detalles.
métodos Hashmap en Java con ejemplos | Conjunto 2 (keySet(), valores(), containsKey())
Referencia:
https://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html
Este artículo es una contribución de Mohit Gupta . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA