Java: la clase HashMap

La clase HashMap usa una tabla hash para implementar la interfaz Map. Esto permite que el tiempo de ejecución de operaciones básicas, como get () y put (), permanezca constante incluso para conjuntos grandes.

A continuación se muestra la lista de constructores admitidos por la clase HashMap.

No Señor. Constructor y descripción
1

HashMap( )

Este constructor construye un HashMap predeterminado.

2

HashMap(Map m)

Este constructor inicializa el mapa hash utilizando los elementos del objeto Map dado m.

3

HashMap(int capacity)

Este constructor inicializa la capacidad del mapa hash al valor entero dado, capacidad.

4

HashMap(int capacity, float fillRatio)

Este constructor inicializa tanto la capacidad como la proporción de llenado del mapa hash utilizando sus argumentos.

Además de los métodos heredados de sus clases principales, HashMap define los siguientes métodos:

No Señor. Método y descripción
1

void clear()

Elimina todas las asignaciones de este mapa.

2

Object clone()

Devuelve una copia superficial de esta instancia de HashMap: las claves y los valores en sí mismos no se clonan.

3

boolean containsKey(Object key)

Devuelve verdadero si este mapa contiene un mapeo para la clave especificada.

4

boolean containsValue(Object value)

Devuelve verdadero si este mapa asigna una o más claves al valor especificado.

5

Set entrySet()

Devuelve una vista de colección de las asignaciones contenidas en este mapa.

6

Object get(Object key)

Devuelve el valor al que se asigna la clave especificada en este mapa hash de identidad, o nulo si el mapa no contiene ninguna asignación para esta clave.

7

boolean isEmpty()

Devuelve verdadero si este mapa no contiene asignaciones de clave-valor.

8

Set keySet()

Devuelve una vista de conjunto de las claves contenidas en este mapa.

9

Object put(Object key, Object value)

Asocia el valor especificado con la clave especificada en este mapa.

10

putAll(Map m)

Copia todas las asignaciones del mapa especificado a este mapa. Estas asignaciones reemplazarán las asignaciones que este mapa tenía para cualquiera de las claves que se encuentran actualmente en el mapa especificado.

11

Object remove(Object key)

Elimina el mapeo para esta clave de este mapa si está presente.

12

int size()

Devuelve el número de asignaciones de clave-valor en este mapa.

13

Collection values()

Devuelve una vista de colección de los valores contenidos en este mapa.

Ejemplo

El siguiente programa ilustra varios de los métodos admitidos por esta colección:

import java.util.*;
public class HashMapDemo {

   public static void main(String args[]) {
   
      // Create a hash map
      HashMap hm = new HashMap();
      
      // Put elements to the map
      hm.put("Zara", new Double(3434.34));
      hm.put("Mahnaz", new Double(123.22));
      hm.put("Ayan", new Double(1378.00));
      hm.put("Daisy", new Double(99.22));
      hm.put("Qadir", new Double(-19.08));
      
      // Get a set of the entries
      Set set = hm.entrySet();
      
      // Get an iterator
      Iterator i = set.iterator();
      
      // Display elements
      while(i.hasNext()) {
         Map.Entry me = (Map.Entry)i.next();
         System.out.print(me.getKey() + ": ");
         System.out.println(me.getValue());
      }
      System.out.println();
      
      // Deposit 1000 into Zara's account
      double balance = ((Double)hm.get("Zara")).doubleValue();
      hm.put("Zara", new Double(balance + 1000));
      System.out.println("Zara's new balance: " + hm.get("Zara"));
   }
}

Esto producirá el siguiente resultado:

Salida

Daisy: 99.22
Ayan: 1378.0
Zara: 3434.34
Qadir: -19.08
Mahnaz: 123.22

Zara's new balance: 4434.34