Třída HashMap
Měli jsme možnost se seznámit s třídou ArrayList jako jednou z pokročilejších datových struktur v Javě. Nyní se podíváme na další významnou datovou strukturu, která nám umožňuje efektivně mapovat klíče na hodnoty. Tuto funkcionalitu plní třída HashMap. Třída HashMap poskytuje flexibilitu a rychlost při práci s daty, které jsou uloženy ve formě dvojic (klíč, hodnota). V tomto odstavci si přiblížíme základní koncepty třídy HashMap, zjistíme, jak ji používat a prozkoumáme její výhody oproti jiným způsobům ukládání dat.
Výhody využití třídy HashMap:
Rychlý přístup k datům: Třída HashMap umožňuje rychlý přístup k hodnotám na základě klíče. To znamená, že můžeme rychle získat hodnotu, aniž bychom museli procházet všechny prvky.
Dynamická velikost: Stejně jako třída ArrayList, i HashMap má dynamickou velikost, což znamená, že může růst a zmenšovat se dle potřeby
Jedinečné klíče: Klíče v HashMapě jsou jedinečné, což znamená, že každý klíč může mít pouze jednu hodnotu. To je užitečné pro ukládání asociací mezi různými prvky.
Nevýhody použití třídy HashMap:
Nevypořádá se s řazením: HashMap neskladuje prvky ve specifickém pořadí. Pokud potřebujete prvky seřadit, musíte použít jinou datovou strukturu, například třídu TreeMap.
Mírně větší paměťová náročnost: Stejně jako u třídy ArrayList může třída HashMap vyžadovat více paměti kvůli dynamickému zvětšování kapacity.
Obecné založení HashMapu:
// Vždy je nutné knihovnu importovat do programu import java.util.HashMap; // Založení instance třídy HashMap pro mapování řetězců na čísla HashMap<String, Integer> mapa = new HashMap<>();
Syntaxe pro vložení a získání hodnot z HashMapu:
// Vložení hodnoty do HashMapu mapa.put("klíč", hodnota); // Získání hodnoty z HashMapu na základě klíče int hodnota = mapa.get("klíč");
Odebírání prvků z HashMapu:
// Odebrání prvku z HashMapu na základě klíče mapa.remove("klíč");
Zjištění, zda klíč existuje v HashMapu:
// Zjištění, zda klíč existuje v HashMapu boolean existuje = mapa.containsKey("klíč");
Iterace HashMapem pomocí cyklu:
for (String klic : mapa.keySet()) { int hodnota = mapa.get(klic); System.out.println("Klíč: " + klic + ", Hodnota: " + hodnota); }
Tímto jsme se dostali na další úroveň v našem porozumění datovým strukturám v Javě. Třída HashMap je silným nástrojem pro ukládání a manipulaci s daty, zejména když potřebujeme provádět vyhledávání na základě klíče.