HashMap (alebo HashTable) je dátová štruktúra, ktorá umožňuje rýchly prístup k údajom pomocou párov kľúč – hodnota. Trieda Java HashMap rozširuje Abstraktná mapa triedy a implementuje rozhranie Map, ktoré mu poskytuje prístup k množstvu operácií. HashMaps majú dva parametre typu – K a V, kde K ukladá kľúče a V ukladá hodnoty v každej HashMap.

HashMap vám umožňuje mapovať kľúče na konkrétnu hodnotu a ukladať položky v náhodnom poradí. V tomto článku sa dozviete, ako používať triedu HashMap Java na ukladanie, získavanie, aktualizáciu a odstraňovanie údajov.

Vytvorenie Java HashMap

Trieda Java HashMap má štyri konštruktory. Predvolený konštruktor je najpopulárnejší, umožňuje vám vytvoriť prázdnu HashMap, ktorá bude mať predvolenú kapacitu 16.

importovaťjava.util.HashMap;
verejnostitriedaHlavné{
verejnostistatickéneplatnéhlavné(Reťazec[] argumentov){
//vytvorenie HashMap
HashMap<Celé číslo, reťazec> FruitMap = nová HashMap<Celé číslo, reťazec>();
}
}

The triedy Java vyššie používa predvolený konštruktor HashMap na vytvorenie dátovej štruktúry s názvom

instagram viewer
ovocieMapa. Objekt fruitsMap bude uchovávať údaje, ktoré majú celočíselný kľúč a hodnotu reťazca. Keďže však trieda HashMap implementuje rozhranie Map, môže uložiť nulovú hodnotu buď do poľa kľúča, poľa hodnoty alebo oboch.

Ukladanie údajov do HashMap

Pomocou triedy HashMap môžete vykonať niekoľko operácií. The put (kľúč K, hodnota V) metóda patrí medzi jej najobľúbenejšie metódy a umožňuje vám ukladať údaje pomocou páru kľúč-hodnota, kde sa každý kľúč mapuje na hodnotu.

importovaťjava.util.HashMap;
verejnostitriedaHlavné{
verejnostistatickéneplatnéhlavné(Reťazec[] argumentov){
//vytvorenie HashMap
HashMap<Celé číslo, reťazec> FruitMap = nová HashMap<Celé číslo, reťazec>();
//pridať položky do HashMap
ovocieMap.put (3,"Hruška");
ovocieMap.put (6,"Mango");
ovocieMap.put (7,"Slivka");
ovocieMap.put (4,"Apple");
ovocieMap.put (1,"Oranžová");
ovocieMap.put (5,"Bobule");
ovocieMap.put (2,"Melón");
}
}

Vyššie uvedená aktualizovaná trieda používa metódu put() na pridanie niekoľkých druhov ovocia a ich kľúča do existujúcej štruktúry údajov FruitMap. Je dôležité poznamenať, že vyššie uvedený kód pridáva údaje do mapy náhodne. Tento detail bude užitočný, keď začnete čítať údaje z HashMap.

Čítanie údajov z hashmap

Existuje niekoľko spôsobov, ako čítať údaje z HashMap. Metóda, ktorú použijete, bude závisieť od toho, ako chcete, aby údaje vyzerali, alebo dokonca od typu údajov, ktoré chcete získať.

Získajte objekt HashMap

Ak chcete získať údaje ako objekt, môžete jednoducho pristupovať k objektu HashMap, ktorým je v príklade nižšie fruitsMap.

//Zobraziť všetky položky ako objekt
Systém.von.println(ovocieMapa);

Pridaním vyššie uvedeného riadku kódu do triedy Main sa v konzole vytlačí nasledujúci výstup:

{1=pomaranč, 2=melón, 3=hruška, 4=jablko, 5=bobule, 6=mango, 7=slivka}

Hoci každá hodnota bola náhodne pridaná do HashMap, z výstupu uvidíte, že HashMap ukladá hodnoty vo vzostupnom poradí na základe kľúča priradeného ku každej hodnote. Toto je funkcia, ktorá dáva HashMaps pred iné dátové štruktúry, ako napr Štruktúra údajov poľa ktoré podporujú iba lineárne ukladanie.

Získajte všetky údaje jednotlivo

Ak chcete získať všetky údaje jednotlivo, môžete použiť pre metóda, ktorá vám umožňuje prechádzať cez HashMap a tlačiť každú hodnotu a jej zodpovedajúci kľúč. Táto metóda využíva rozhranie Map, ktoré implementuje trieda HashMap.

//zobrazenie všetkých položiek s iterátorom 
pre (HashMap. Vstup<Celé číslo, reťazec> ovocie: fruitsMap.entrySet())
{
System.out.println("kľúč: " + fruit.getKey() + " Hodnota: " + ovocie.getValue());
}

Pridaním vyššie uvedenej metódy do vášho kódu vytlačíte nasledujúci výstup vo vašej konzole:

Kľúč: 1 Hodnota: oranžová
Kľúč: 2 Hodnota: Melón
Kľúč: 3 Hodnota: Hruška
Kľúč: 4 Hodnota: Apple
Kľúč: 5 Hodnota: Bobule
Kľúč: 6 Hodnota: Mango
Kľúč: 7 Hodnota: Slivka

Získajte konkrétnu hodnotu

Trieda HashMap má a dostať () metóda, ktorá vezme kľúč a vráti hodnotu namapovanú na tento kľúč.

//získanie jednej položky
Systém.von.println(ovocieMapa.dostať(4));

Riadok kódu vyššie vytlačí nasledujúci výstup v konzole:

Apple

Aktualizácia údajov v HashMape

Po vytvorení a naplnení objektu HashMap môžete použiť nahradiť () spôsob aktualizácie ľubovoľnej položky na mape. Metóda replace() má dva alebo tri argumenty. Prvá metóda replace() berie kľúč spojený s existujúcou položkou spolu s novou hodnotou, ktorú k nej chcete namapovať.

// nahradiť jednu položku
fruitMap.replace (4, "Hrozno");
Systém.von.tlač(ovocieMapa);

Spustenie vyššie uvedeného kódu vytlačí v konzole nasledujúci objekt:

{1=pomaranč, 2=melón, 3=hruška, 4=hrozno, 5=bobule, 6=mango, 7=slivka}

Ako môžete vidieť z objektu vyššie, „Hrozno“ sa mapuje na 4, ktoré sa predtým mapovalo na „Apple“.

Druhá metóda replace() preberá kľúč spojený s existujúcou položkou, existujúcou položkou a hodnotou náhrady.

// nahradiť jednu položku
fruitMap.replace (4, "Apple", "Hrozno");
Systém.von.tlač(ovocieMapa);

Vyššie uvedený kód vytlačí v konzole nasledujúci objekt:

{1=pomaranč, 2=melón, 3=hruška, 4=hrozno, 5=bobule, 6=mango, 7=slivka}

Vymazanie údajov z HashMap

Môžete buď odstrániť konkrétnu položku z vašej HashMap pomocou odstrániť () alebo vymažte všetky údaje pomocou jasný() metóda. Metóda remove() má jeden alebo dva argumenty. Prvá metóda odstránenia preberá kľúč spojený s hodnotou, ktorú chcete odstrániť:

//odstránenie jednej položky
ovocieMapa.odstrániť(5);
Systém.von.println(ovocieMapa);

Vyššie uvedený kód vytlačí v konzole nasledujúci objekt:

{1=pomaranč, 2=melón, 3=hruška, 4=jablko, 6=mango, 7=slivka}

Aktualizovaný objekt ukazuje, že položka s párom kľúč – hodnota 5 a „Bobule“ už nie je súčasťou FruitMap. Druhá metóda remove() preberá kľúč a hodnotu, na ktorú sa mapuje.

//odstránenie jednej položky
fruitsMap.remove (5, "Bobule");
Systém.von.println(ovocieMapa);

Vyššie uvedený kód tiež vytlačí nasledujúci objekt v konzole:

{1=pomaranč, 2=melón, 3=hruška, 4=jablko, 6=mango, 7=slivka}

Metóda clear() neberie žiadne argumenty a vracia hodnotu void.

ovocieMapa.jasný();
Systém.von.println(ovocieMapa);

Vykonaním vyššie uvedeného kódu sa v konzole vytlačí nasledujúci prázdny objekt:

{}

Teraz môžete vykonávať operácie CRUD na Java HashMap

HashMaps sú jednou z niekoľkých populárnych dátových štruktúr, ktoré potrebujete vedieť. Tento článok vás naučí, ako vykonávať operácie CRUD na Java HashMaps. HashMap je veľmi užitočná dátová štruktúra, jej hlavným predajným bodom je, že je jednou z najefektívnejších dátových štruktúr vďaka svojej prístupovej rýchlosti. Jeho použitie je však tiež veľmi pohodlné, pretože umožňuje náhodné ukladanie.