En esta página:
En Java se usa HashMap para almacenar elementos en pares clave/valor y puedes acceder a estos elementos almacenados en un HashMap utilizando la clave del elemento, que es única para cada elemento. En este Post, hablaremos sobre ¿ Qué Es Un HashMap en Java ?, las funciones de un HashMap, como crear un HashMap y los diferentes métodos que podemos usar para interactuar con los datos almacenados en ellos, de esta manera conoceremos varios detalles sobre los HashMap en Java, vamos con ello.
Antes de continuar con este Post, te invito a leer los siguientes artículos:
- Que es Java y otros Detalles
- 5 Errores Comunes que se Suelen Cometer al Aprender Java y Como Evitarlos
- Los 6 mejores IDEs para programar en Java en este 2020
- Top de los 5 mejores Frameworks para el Desarrollo de Aplicaciones Web con Java
- Como eliminar el primero elemento de un ArrayList en Java
- Conociendo los Métodos en Java
- Operadores de Java – Parte 1
- Como Devolver múltiples valores de un método en Java
- Puedes leer más artículos en la categoría Java
Asimismo te invito a escuchar el Podcast: “Razones Por Las Cuales Te Cuesta Aprender A Programar” y “La Inteligencia Artificial (IA) y el Machine Learning (ML) Siempre Trabajan de la Mano” (Anchor Podcast):
Spotify: | Sound Cloud: | Apple Podcasts | Anchor Podcasts |
Bien ahora continuemos con el Post: ¿ Qué Es Un HashMap en Java ?
¿ Cuáles son las Características de un HashMap en Java ?
Antes de comenzar a trabajar con HashMaps, es importante comprender como funcionan. A continuación algunas de las características de un HashMap:
- Los elementos se almacenan en pares clave/valor.
- Los elementos no mantienen ningún orden cuando se agregan. Los datos están desordenados.
- En caso de que hayan claves duplicadas, la última anulará a las otras.
- Los tipos de datos se especifican utilizando clases contenedoras en lugar de tipos de datos primitivos.
Estas características son las más importantes, hay otras que las descubriras conforme trabajes con HashMaps.
Creación de un HashMap en Java
Para crear y usar un HashMap, primero debes importar el paquete java.util.HashMap:
1 2 3 4 |
// Importamos el paquete "HashMap" import java.util.HashMap; |
Esta es la sintaxis para crear un nuevo HashMap:
1 2 3 4 |
// Sintaxis de un HasMap HashMap<KeyDataType, ValueDataType> MiHashMap = new HashMap<>(); |
En la sintaxis anterior:
- KeyDataType indica el tipo de datos de todas las claves que se almacenarán en el archivo HashMap.
- valueDataType indica el tipo de datos de todos los valores que se almacenarán en el HashMap.
- MiHashMap es el nombre que le damos al HashMap.
Ahora veamos un ejemplo de un HashMap:
1 2 3 4 |
// HashMap en Java HashMap<Integer, String> ProductoInfo = new HashMap<>(); |
En el código anterior, creamos un HashMap llamado ProductoInfo. Las claves que se almacenarán en HashMap serán todos números enteros, mientras que los valores serán strings. Notarás que estoy trabajando con clases contenedoras y no con tipos primitivos al especificar los tipos de datos para las claves y los valores. Así es como funcionan los HashMaps.
Antes de sumergirnos en ejemplos, a continuación una lista de clases contenedoras y sus tipos de datos primitivos correspondientes en Java:
Clases Contenedoras y Tipos Primitivos en Java
En la siguiente tabla puedes ver ciertas clases contenedoras (Wrapper Classes) y sus tipos de datos primitivos (Primitive Data Types):
Clases Contenedoras (Wrapper classes) | Tipos de Datos Primitivos (Primitive data types) |
---|---|
Integer | int |
Character | char |
Float | float |
Byte | byte |
Short | short |
Long | long |
Double | double |
Boolean | boolean |
Cuando trabajamos con HashMaps, hacemos uso de clases contenedoras.
Métodos HashMap en Java
Ahora veremos algunos de los métodos útiles que podemos usar cuando trabajamos con HashMaps. Veremos como agregar, acceder, eliminar y actualizar elementos en un archivo HashMap.
Agregar Elementos a un HashMap
Para agregar elementos a un HashMap, hacemos uso del método put(). Toma dos parámetros: la clave y el valor del elemento que se agrega.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import java.util.HashMap; class Productos { public static void main(String[] args) { HashMap<Integer, String> ProductoInfo = new HashMap<>(); ProductoInfo.put(1, "Zapatos de Cuero"); ProductoInfo.put(2, "Casacas Cortaviento"); ProductoInfo.put(3, "Zapatillas Running"); /* Salida */ System.out.println(ProductoInfo); // {1=Zapatos de Cuero, 2=Casacas Cortaviento, 3=Zapatillas Running} } } |
En el código anterior, el HashMap se llama ProductInfo. Especificamos las claves como números enteros mientras que los valores son strings: HashMap<Integer, String>. Agregamos tres elementos, cada uno de ellos con un número entero como clave y un string como valor.
Acceder a los Elementos de un HashMap
Puedes usar el método get() para acceder a los elementos almacenados en un archivo HashMap. Este método toma un parámetro: la clave del elemento al que se accede. Veamos el siguiente ejemplo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import java.util.HashMap; class Productos { public static void main(String[] args) { HashMap<Integer, String> ProductoInfo = new HashMap<>(); ProductoInfo.put(1, "Zapatos de Cuero"); ProductoInfo.put(2, "Casacas Cortaviento"); ProductoInfo.put(3, "Zapatillas Running"); /* Salida */ System.out.println(ProductoInfo.get(2)); // Casacas Cortaviento } } |
En el código anterior, ProductoInfo.get(2) devuelve el valor con una clave de 2.”Casacas Cortaviento” se imprimio en la consola.
Cambiar el Valor de los Elementos de un HashMap
Para cambiar el valor de los elementos de un HashMap, hacemos uso del método replace(). Se necesitan dos parámetros: la clave del emento que se cambiará y el nuevo valor que se le asignará:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import java.util.HashMap; class Productos { public static void main(String[] args) { HashMap<Integer, String> ProductoInfo = new HashMap<>(); ProductoInfo.put(1, "Zapatos de Cuero"); ProductoInfo.put(2, "Casacas Cortaviento"); ProductoInfo.put(3, "Zapatillas Running"); // Actualizar key 1 ProductoInfo.replace(1, "Zandalias Moradas"); /* Salida */ System.out.println(ProductoInfo); // {1=Zandalias Moradas, 2=Casacas Cortaviento, 3=Zapatillas Running} } } |
En el código anterior cambiamos el valor de “Zapatos de Cuero” por “Zandalias Moradas” usando ProductoInfo.replace(1, “Zandalias Moradas”);
Eliminar Elementos de un HashMap
Puedes usar el método remove() para eliminar el elemento de un archivo HashMap. Toma un parámetro: la clave del elemento que se eliminará.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import java.util.HashMap; class Productos { public static void main(String[] args) { HashMap<Integer, String> ProductoInfo = new HashMap<>(); ProductoInfo.put(1, "Zapatos de Cuero"); ProductoInfo.put(2, "Casacas Cortaviento"); ProductoInfo.put(3, "Zapatillas Running"); // Eliminar key 1 ProductoInfo.remove(1); /* Salida */ System.out.println(ProductoInfo); // 2=Casacas Cortaviento, 3=Zapatillas Running} |
En el código anterior eliminamos el primer elemento con ProductoInfo.remove(1) y si deseas eliminar todos los elementos de un HashMap, utiliza el método clear():
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import java.util.HashMap; class Productos { public static void main(String[] args) { HashMap<Integer, String> ProductoInfo = new HashMap<>(); ProductoInfo.put(1, "Zapatos de Cuero"); ProductoInfo.put(2, "Casacas Cortaviento"); ProductoInfo.put(3, "Zapatillas Running"); // Eliminar todos los elementos ProductoInfo.clear(); /* Salida */ System.out.println(ProductoInfo); // {} } } |
Hay otros métodos que son útiles como:
- containsKey: Devuelve true si si existe una clave especificada en un archivo HashMap.
- containValue: Devuelve true si existe un valor especificado en un archivo HashMap.
- size(): Devuelve el número de elementos en un HashMap.
- isEmpty(): Devuelve true si un HashMap no tiene elementos.
Conclusión
Los HashMaps te pueden servir de mucho cuando necesitas pasar pares de valores en tus aplicaciones. Conforme los uses en tus proyectos con Java, lograrás comprenderlos mejor y te será más sencillo saber cuando usarlos.
Nota(s)
- No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.
Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.