HashMap Java
HashMap Java
Nel ArrayList
capitolo, hai appreso che gli array memorizzano gli articoli come una raccolta ordinata e devi accedervi con un numero di indice ( int
tipo). HashMap
Tuttavia, memorizza gli elementi in coppie " chiave / valore " e puoi accedervi tramite un indice di un altro tipo (ad esempio a ) String
.
Un oggetto viene utilizzato come chiave (indice) per un altro oggetto (valore). Può memorizzare diversi tipi: String
chiavi e Integer
valori, o lo stesso tipo, come: String
chiavi e String
valori:
Esempio
Crea un HashMap
oggetto chiamato capitalCities che memorizzerà String
chiavi e String
valori :
import java.util.HashMap; // import the HashMap class
HashMap<String, String> capitalCities = new HashMap<String, String>();
Aggiungi elementi
La HashMap
classe ha molti metodi utili. Ad esempio, per aggiungere elementi ad esso, utilizzare il put()
metodo:
Esempio
// 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);
}
}
Accedi a un elemento
Per accedere a un valore in HashMap
, utilizzare il get()
metodo e fare riferimento alla sua chiave:
Esempio
capitalCities.get("England");
Rimuovi un elemento
Per rimuovere un elemento, utilizzare il remove()
metodo e fare riferimento alla chiave:
Esempio
capitalCities.remove("England");
Per rimuovere tutti gli elementi, utilizzare il clear()
metodo:
Esempio
capitalCities.clear();
Dimensione hashmap
Per scoprire quanti articoli ci sono, usa il size()
metodo:
Esempio
capitalCities.size();
Passa attraverso una HashMap
Passa in rassegna gli elementi di a HashMap
con un ciclo for-ogni .
Nota: usa il keySet()
metodo se vuoi solo le chiavi e usa il values()
metodo se vuoi solo i valori:
Esempio
// Print keys
for (String i : capitalCities.keySet()) {
System.out.println(i);
}
Esempio
// Print values
for (String i : capitalCities.values()) {
System.out.println(i);
}
Esempio
// Print keys and values
for (String i : capitalCities.keySet()) {
System.out.println("key: " + i + " value: " + capitalCities.get(i));
}
Altri tipi
Chiavi e valori in una HashMap sono in realtà oggetti. Negli esempi precedenti, abbiamo utilizzato oggetti di tipo "String". Ricorda che una stringa in Java è un oggetto (non un tipo primitivo). Per utilizzare altri tipi, come int, devi specificare una classe wrapper equivalente : Integer
. Per altri tipi primitivi, usa: Boolean
for boolean, Character
for char, Double
for double, ecc:
Esempio
Crea un HashMap
oggetto chiamato
persone che memorizzerà String
chiavi e
Integer
valori :
// 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));
}
}
}