HashMap es una de las estructuras de datos m s populares en Java. Es una implementaci n de la interfaz Map que almacena datos en un formato clave-valor. Esto le permite acceder r pidamente a los elementos por clave. Sin embargo, a veces puede ser necesario acceder a los elementos por valor. En este art culo, veremos una manera f cil de inferir elementos por valor en un HashMap.
Para empezar, necesitaremos crear un HashMap y llenarlo con datos. Por ejemplo, supongamos que tenemos un HashMap con los nombres de los estudiantes y sus calificaciones:
HashMap students = new HashMap();
students.put ("Iv n", 5);
students.put ("Mar a", 4);
students.put ("Alexei", 3);
students.put ("Elena", 5);
students.put ("Andrei", 4);
Ahora que tenemos un HashMap lleno, podemos saltar a la salida de los elementos por valor. Para hacer esto, usaremos un bucle for-each:
- C mo trabajar con elementos HashMap: una manera f cil
- Qu es HashMap y por qu usarlo
- C mo agregar elementos a HashMap
- C mo generar elementos por valor en HashMap
- Pregunta-respuesta
- C mo puedo Mostrar todos los elementos de hashmap en la pantalla?
- C mo inferir elementos hashmap cuyo valor es igual a un valor espec fico?
- C mo puedo generar claves hashmap cuyo valor es igual a un valor espec fico?
- C mo inferir el primer elemento hashmap cuyo valor es igual a un valor espec fico?
- C mo puedo deducir todos los elementos hashmap cuyos valores est n dentro de un rango espec fico?
- Es posible generar elementos hashmap cuyos valores no son iguales a un valor espec fico?
C mo trabajar con elementos HashMap: una manera f cil
HashMap es una estructura de datos que le permite almacenar elementos como pares clave-valor. Las claves deben ser nicas y los valores pueden ser de cualquier tipo. En Java, se proporcionan varios m todos para trabajar con HashMap.
Estos son algunos de los m todos m s utilizados:
- put (key, value): agrega un elemento a un HashMap con la clave y el valor especificados.
- get (key): devuelve el valor del elemento con la clave especificada.
- containsKey (key): comprueba si el HashMap contiene un elemento con la clave especificada.
- containsValue (value): comprueba si el HashMap contiene un elemento con el valor especificado.
- remove (key): elimina el elemento con la clave especificada del HashMap.
- size() devuelve el n mero de elementos en un HashMap.
- keySet() devuelve el conjunto de todas las claves en un HashMap.
- values() devuelve un conjunto de todos los valores en un HashMap.
Usando estos m todos, uno puede trabajar f cilmente con elementos HashMap. Por ejemplo, para Mostrar todas las claves y valores, puede usar el siguiente c digo:
for (String key : hashMap.keySet()) {Como resultado de la ejecuci n de este c digo se mostrar :
Clave: apple valor: 5
- Clave: pl tano, Valor: 3
Clave: orange, Valor: 7
- Colecci n sin un orden espec fico: no se garantiza que los elementos en un HashMap est n dispuestos en el orden en que se agregaron.
C mo agregar elementos a HashMap
HashMap es una de las implementaciones m s comunes de la interfaz Map en Java. Permite almacenar pares clave-valor y proporciona acceso r pido a los valores por clave.
Agregar elementos a HashMap sigue estos pasos:
Cree una instancia de HashMap que especifique los tipos de claves y valores:
| HashMap map = new HashMap(); | |
|---|---|
| Use el m todo put () para agregar un par clave-valor al HashMap: | |
| map.put (clave, valor); |
Repita los pasos 2-3 para cada elemento que desee agregar al HashMap.
Ejemplo:
HashMap students = new HashMap();
students.put ("Ivanov", 25);
students.put ("Petrov", 30);
students.put ("Sidorov", 28);
Ahora en HashMap, "estudiantes" contiene los siguientes valores:
Clave
Valor
Ivanov
25
Petrov
30
Sidorov
28
Por lo tanto, ha agregado con xito elementos al HashMap. Ahora puede usar las claves para obtener los valores correspondientes de HashMap.
C mo generar elementos por valor en HashMap
HashMap es una clase en Java que es una implementaci n de la interfaz Map. HashMap almacena los datos en un formato de pares clave-valor y le permite recuperar y cambiar r pidamente los valores de una clave determinada.
A veces es necesario obtener los elementos HashMap por valor en lugar de la clave. En este art culo, veremos algunas formas f ciles de hacerlo.
1. Iterar sobre elementos HashMap usando un bucle:
HashMap map = new HashMap();
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);
int valueToFind = 2;
for (Map.Entry entry : map.entrySet()) {
if (entry.getValue() == valueToFind) {
System.out.println(entry.getKey());
}
}
2. values() HashMap:
HashMap map = new HashMap();
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);
int valueToFind = 2;
for (Integer value : map.values()) {
if (value == valueToFind) {
System.out.println(map.keySet());
}
}
3. Java 8 Stream API:
HashMap map = new HashMap();
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);
int valueToFind = 2;
List keys = map.entrySet().stream()
.filter(entry -> entry.getValue() == valueToFind)
.map(Map.Entry::getKey)
.collect(Collectors.toList());
System.out.println(keys);
4. Apache Commons Collections:
HashMap map = new HashMap();
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);
int valueToFind = 2;