Un HashMap (o HashTable) es una estructura de datos que permite un acceso rápido a los datos mediante pares clave-valor. La clase Java HashMap amplía la ResumenMapa class e implementa la interfaz Map, que le da acceso a muchas operaciones. HashMaps tiene dos tipos de parámetros: K y V, donde K almacena las claves y V almacena los valores en cada HashMap.
HashMap le permite asignar claves a un valor específico y almacenar elementos en orden aleatorio. En este artículo, aprenderá a usar la clase HashMap de Java para almacenar, recuperar, actualizar y eliminar datos.
Creación de un HashMap de Java
La clase Java HashMap tiene cuatro constructores. El constructor predeterminado es el más popular, le permite crear un HashMap vacío que tendrá una capacidad predeterminada de 16.
importarJava.util.HashMap;
públicoclasePrincipal{
públicoestáticovacíoprincipal(Cadena[] argumentos){
//creando un HashMap
mapa hash<Entero, Cadena> fruitMap = nuevo HashMap<Entero, Cadena>();
}
}
los clase Java anterior usa el constructor HashMap predeterminado para crear una estructura de datos llamada
frutasMapa. El objeto fruitMap almacenará datos que tienen una clave entera y un valor de cadena. Sin embargo, dado que la clase HashMap implementa la interfaz Map, puede almacenar un valor nulo en el campo clave, en el campo de valor o en ambos.Almacenamiento de datos en un HashMap
Puede realizar varias operaciones utilizando la clase HashMap. los poner (tecla K, valor V) El método es uno de sus métodos más populares y le permite almacenar datos utilizando un par clave-valor, donde cada clave se asigna a un valor.
importarJava.util.HashMap;
públicoclasePrincipal{
públicoestáticovacíoprincipal(Cadena[] argumentos){
//creando un HashMap
mapa hash<Entero, Cadena> fruitMap = nuevo HashMap<Entero, Cadena>();
//añadir elementos a HashMap
fruitMap.put (3,"Pera");
fruitMap.put (6,"Mango");
fruitMap.put (7,"Ciruela");
fruitMap.put (4,"Manzana");
fruitMap.put (1,"Naranja");
fruitMap.put (5,"Bayas");
fruitMap.put (2,"Melón");
}
}
La clase actualizada anterior usa el método put() para agregar varias frutas y su clave a la estructura de datos de fruitMap existente. Es importante tener en cuenta que el código anterior agrega los datos al mapa al azar. Este detalle será útil cuando comience a leer los datos del HashMap.
Lectura de datos de un HashMap
Hay varias formas de leer datos de un HashMap. El método que utilice dependerá de cómo desea que se vean los datos o incluso del tipo de datos que desea recuperar.
Recuperar el objeto HashMap
Si desea recuperar los datos como un objeto, simplemente puede acceder al objeto HashMap, que en el ejemplo a continuación es fruitMap.
//Ver todos los elementos como un objeto
Sistema.afuera.println(frutasMapa);
Al agregar la línea de código anterior a la clase principal, se imprime el siguiente resultado en la consola:
{1=naranja, 2=melón, 3=pera, 4=manzana, 5=bayas, 6=mango, 7=ciruela}
Aunque cada valor se agregó aleatoriamente a HashMap, a partir de la salida verá que HashMap almacena los valores en orden ascendente, según la clave asignada a cada valor. Esta es una característica que coloca a HashMaps por delante de otras estructuras de datos como el Estructura de datos de matriz que solo admiten almacenamiento lineal.
Recuperar todos los datos individualmente
Si desea recuperar todos los datos individualmente, puede utilizar el por método que le permite recorrer el HashMap e imprimir cada valor y su clave correspondiente. Este método emplea la interfaz Map que implementa la clase HashMap.
//ver todos los elementos con un iterador
para (HashMap. Entrada<Entero, Cadena> fruta: fruitMap.entrySet())
{
Sistema.fuera.println("Llave: " + fruta.getKey() + " Valor: " + fruta.getValue());
}
Agregar el método anterior a su código imprimirá el siguiente resultado en su consola:
Clave: 1 Valor: Naranja
Clave: 2 Valor: Melón
Clave: 3 Valor: Pera
Clave: 4 Valor: Manzana
Clave: 5 Valor: Bayas
Clave: 6 Valor: Mango
Clave: 7 Valor: Ciruela
Recuperar un valor específico
La clase HashMap tiene un obtener() método que toma una clave y devuelve el valor asignado a esta clave.
//obtener un solo elemento
Sistema.afuera.println(frutasMapa.obtener(4));
La línea de código anterior imprime el siguiente resultado en la consola:
Manzana
Actualización de datos en un HashMap
Después de crear y llenar un objeto HashMap, puede usar el reemplazar() para actualizar cualquier elemento en el Mapa. El método replace() toma dos o tres argumentos. El primer método replace() toma la clave asociada con un elemento existente, junto con el nuevo valor que desea asignarle.
// reemplaza un solo elemento
fruitMap.reemplazar (4, "Uvas");
Sistema.afuera.impresión(frutasMapa);
Ejecutar el código anterior imprime el siguiente objeto en la consola:
{1=naranja, 2=melón, 3=pera, 4=uvas, 5=bayas, 6=mango, 7=ciruela}
Como puede ver en el objeto de arriba, "Uvas" se asigna a 4, que anteriormente se asignó a "Apple".
El segundo método replace() toma la clave asociada con el artículo existente, el artículo existente y el valor de reemplazo.
// reemplaza un solo elemento
fruitMap.reemplazar (4, "Manzana", "Uvas");
Sistema.afuera.impresión(frutasMapa);
El código anterior imprime el siguiente objeto en la consola:
{1=naranja, 2=melón, 3=pera, 4=uvas, 5=bayas, 6=mango, 7=ciruela}
Eliminación de datos de un HashMap
Puede eliminar un elemento específico de su HashMap usando el retirar() o elimine todos los datos usando el claro() método. El método remove() toma uno o dos argumentos. El primer método de eliminación toma la clave asociada con el valor que desea eliminar:
// eliminar un solo elemento
frutasMapa.retirar(5);
Sistema.afuera.println(frutasMapa);
El código anterior imprime el siguiente objeto en la consola:
{1=naranja, 2=melón, 3=pera, 4=manzana, 6=mango, 7=ciruela}
El objeto actualizado muestra que el elemento con el par clave-valor de 5 y "Bayas" ya no forma parte del mapa de frutas. El segundo método remove() toma una clave y el valor al que se asigna.
// eliminar un solo elemento
fruitMap.remove (5, "Bayas");
Sistema.afuera.println(frutasMapa);
El código anterior también imprime el siguiente objeto en la consola:
{1=naranja, 2=melón, 3=pera, 4=manzana, 6=mango, 7=ciruela}
El método clear() no acepta argumentos y devuelve void.
frutasMapa.claro();
Sistema.afuera.println(frutasMapa);
Ejecutar el código anterior imprime el siguiente objeto vacío en la consola:
{}
Ahora puede realizar operaciones CRUD en un HashMap de Java
HashMaps es una de varias estructuras de datos populares que necesita saber. Este artículo le enseña cómo realizar operaciones CRUD en Java HashMaps. El HashMap es una estructura de datos muy útil, su principal punto de venta es que es una de las estructuras de datos más eficientes, debido a su velocidad de acceso. Sin embargo, también es muy cómodo de usar, ya que permite el almacenamiento aleatorio.