Mapa hash de Java
Mapa hash de Java
En el ArrayList
capítulo, aprendió que las matrices almacenan elementos como una colección ordenada y debe acceder a ellos con un número de índice ( int
tipo). Sin HashMap
embargo, almacene elementos en pares " clave / valor ", y puede acceder a ellos mediante un índice de otro tipo (por ejemplo, a String
).
Un objeto se utiliza como clave (índice) para otro objeto (valor). Puede almacenar diferentes tipos: String
claves y Integer
valores, o del mismo tipo, como: String
claves y String
valores:
Ejemplo
Cree un HashMap
objeto llamado capitalCities que almacenará String
claves y String
valores :
import java.util.HashMap; // import the HashMap class
HashMap<String, String> capitalCities = new HashMap<String, String>();
Agregar artículos
La HashMap
clase tiene muchos métodos útiles. Por ejemplo, para agregarle elementos, use el put()
método:
Ejemplo
// Import the HashMap class
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// Create a HashMap object called capitalCities
HashMap<String, String> capitalCities = new HashMap<String, String>();
// Add keys and values (Country, City)
capitalCities.put("England", "London");
capitalCities.put("Germany", "Berlin");
capitalCities.put("Norway", "Oslo");
capitalCities.put("USA", "Washington DC");
System.out.println(capitalCities);
}
}
Acceder a un artículo
Para acceder a un valor en el HashMap
, use el get()
método y consulte su clave:
Ejemplo
capitalCities.get("England");
Quitar un artículo
Para eliminar un elemento, utilice el remove()
método y consulte la clave:
Ejemplo
capitalCities.remove("England");
Para eliminar todos los elementos, utilice el clear()
método:
Ejemplo
capitalCities.clear();
Tamaño del mapa hash
Para saber cuántos elementos hay, utilice el size()
método:
Ejemplo
capitalCities.size();
Bucle a través de un HashMap
Recorra los elementos de a HashMap
con un bucle for-each .
Nota: Use el keySet()
método si solo quiere las claves, y use el values()
método si solo quiere los valores:
Ejemplo
// Print keys
for (String i : capitalCities.keySet()) {
System.out.println(i);
}
Ejemplo
// Print values
for (String i : capitalCities.values()) {
System.out.println(i);
}
Ejemplo
// Print keys and values
for (String i : capitalCities.keySet()) {
System.out.println("key: " + i + " value: " + capitalCities.get(i));
}
Otros tipos
Las claves y los valores en un HashMap son en realidad objetos. En los ejemplos anteriores, usamos objetos de tipo "String". Recuerda que un String en Java es un objeto (no un tipo primitivo). Para usar otros tipos, como int, debe especificar una clase contenedora equivalente : Integer
. Para otros tipos primitivos, use: Boolean
for boolean, Character
for char, Double
for double, etc:
Ejemplo
Cree un HashMap
objeto llamado
personas que almacenará String
claves y
Integer
valores :
// Import the HashMap class
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// Create a HashMap object called people
HashMap<String, Integer> people = new HashMap<String, Integer>();
// Add keys and values (Name, Age)
people.put("John", 32);
people.put("Steve", 30);
people.put("Angie", 33);
for (String i : people.keySet()) {
System.out.println("key: " + i + " value: " + people.get(i));
}
}
}