Java HashMap
Java HashMap
W ArrayList
rozdziale dowiedziałeś się, że tablice przechowują elementy jako uporządkowaną kolekcję i musisz mieć do nich dostęp za pomocą numeru indeksu ( int
typ). A HashMap
jednak przechowuj elementy w parach „ klucz / wartość ” i możesz uzyskać do nich dostęp za pomocą indeksu innego typu (np String
. ).
Jeden obiekt jest używany jako klucz (indeks) do innego obiektu (wartości). Może przechowywać różne typy: String
klucze i Integer
wartości lub ten sam typ, na przykład: String
klucze i String
wartości:
Przykład
Utwórz HashMap
obiekt o nazwie capitalCities , który będzie przechowywać String
klucze i String
wartości :
import java.util.HashMap; // import the HashMap class
HashMap<String, String> capitalCities = new HashMap<String, String>();
Dodaj przedmioty
Klasa HashMap
posiada wiele przydatnych metod. Na przykład, aby dodać do niego elementy, użyj put()
metody:
Przykład
// 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);
}
}
Uzyskaj dostęp do przedmiotu
Aby uzyskać dostęp do wartości w HashMap
, użyj get()
metody i odnieś się do jej klucza:
Przykład
capitalCities.get("England");
Usuń przedmiot
Aby usunąć przedmiot, użyj remove()
metody i zapoznaj się z kluczem:
Przykład
capitalCities.remove("England");
Aby usunąć wszystkie elementy, użyj clear()
metody:
Przykład
capitalCities.clear();
Rozmiar HashMap
Aby dowiedzieć się, ile jest przedmiotów, użyj size()
metody:
Przykład
capitalCities.size();
Pętla przez HashMap
Przeprowadź pętlę przez elementy z HashMap
pętlą for-each .
Uwaga: Użyj keySet()
metody, jeśli chcesz tylko klucze i użyj values()
metody, jeśli chcesz tylko wartości:
Przykład
// Print keys
for (String i : capitalCities.keySet()) {
System.out.println(i);
}
Przykład
// Print values
for (String i : capitalCities.values()) {
System.out.println(i);
}
Przykład
// Print keys and values
for (String i : capitalCities.keySet()) {
System.out.println("key: " + i + " value: " + capitalCities.get(i));
}
Inne rodzaje
Klucze i wartości w HashMap są w rzeczywistości obiektami. W powyższych przykładach użyliśmy obiektów typu „String”. Pamiętaj, że String w Javie jest obiektem (nie typem pierwotnym). Aby użyć innych typów, takich jak int, musisz określić równoważną klasę opakowania : Integer
. Dla innych typów prymitywów użyj: Boolean
for boolean, Character
for char, Double
for double, itd.:
Przykład
Utwórz HashMap
obiekt o nazwie
people , który będzie przechowywać String
klucze i
Integer
wartości :
// 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));
}
}
}