Java HashMap
Java HashMap
V ArrayList
kapitole jste se dozvěděli, že Arrays ukládá položky jako uspořádanou kolekci a musíte k nim přistupovat pomocí indexového čísla ( int
type). A HashMap
však položky ukládejte do párů " klíč / hodnota " a můžete k nim přistupovat pomocí indexu jiného typu (např. a String
).
Jeden objekt se používá jako klíč (index) k jinému objektu (hodnotě). Může ukládat různé typy: String
klíče a Integer
hodnoty, nebo stejný typ, jako: String
klíče a String
hodnoty:
Příklad
Vytvořte HashMap
objekt s názvem capitalCities , který bude ukládat String
klíče a String
hodnoty :
import java.util.HashMap; // import the HashMap class
HashMap<String, String> capitalCities = new HashMap<String, String>();
Přidat položky
Třída HashMap
má mnoho užitečných metod. Chcete-li do něj například přidat položky, použijte put()
metodu:
Příklad
// 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);
}
}
Přístup k položce
Chcete-li získat přístup k hodnotě v HashMap
, použijte get()
metodu a podívejte se na její klíč:
Příklad
capitalCities.get("England");
Odebrat položku
Chcete-li odebrat položku, použijte remove()
metodu a podívejte se na klíč:
Příklad
capitalCities.remove("England");
Chcete-li odstranit všechny položky, použijte clear()
metodu:
Příklad
capitalCities.clear();
Velikost hashMap
Chcete-li zjistit, kolik položek existuje, použijte size()
metodu:
Příklad
capitalCities.size();
Smyčka přes HashMap
Procházejte položky a HashMap
pomocí smyčky pro každého .
Poznámka: Použijte keySet()
metodu, pokud chcete pouze klíče, a použijte values()
metodu, pokud chcete pouze hodnoty:
Příklad
// Print keys
for (String i : capitalCities.keySet()) {
System.out.println(i);
}
Příklad
// Print values
for (String i : capitalCities.values()) {
System.out.println(i);
}
Příklad
// Print keys and values
for (String i : capitalCities.keySet()) {
System.out.println("key: " + i + " value: " + capitalCities.get(i));
}
Jiné typy
Klíče a hodnoty v HashMap jsou ve skutečnosti objekty. Ve výše uvedených příkladech jsme použili objekty typu "String". Pamatujte, že řetězec v Javě je objekt (ne primitivní typ). Chcete-li použít jiné typy, jako je int, musíte zadat ekvivalentní třídu obalu : Integer
. Pro ostatní primitivní typy použijte: Boolean
pro boolean, Character
pro char, Double
pro double atd.:
Příklad
Vytvořte HashMap
objekt s názvem
lidé , který bude ukládat String
klíče a
Integer
hodnoty :
// 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));
}
}
}