HashMap (arba HashTable) yra duomenų struktūra, leidžianti greitai pasiekti duomenis naudojant raktų ir reikšmių poras. „Java HashMap“ klasė išplečia AbstractMap klasę ir įdiegia žemėlapio sąsają, kuri suteikia prieigą prie daugybės operacijų. HashMaps turi dviejų tipų parametrus – K ir V, kur K saugo raktus, o V – reikšmes kiekviename HashMap.

„HashMap“ leidžia susieti raktus su konkrečia verte ir saugoti elementus atsitiktine tvarka. Šiame straipsnyje sužinosite, kaip naudoti Java HashMap klasę duomenims saugoti, nuskaityti, atnaujinti ir ištrinti.

Java HashMap kūrimas

„Java HashMap“ klasėje yra keturi konstruktoriai. Numatytasis konstruktorius yra populiariausias, jis leidžia sukurti tuščią HashMap, kurio numatytoji talpa bus 16.

importuotijava.util.HashMap;
viešasklasėPagrindinis{
viešasstatinistuštumapagrindinis(String[] args){
//hashMap kūrimas
HashMap<Sveikasis skaičius, eilutė> fruitsMap = naujas HashMap<Sveikasis skaičius, eilutė>();
}
}

The Java klasė aukščiau naudoja numatytąjį HashMap konstruktorių, kad sukurtų duomenų struktūrą, vadinamą

vaisiaiŽemėlapis. Objektas fruitsMap saugos duomenis, turinčius sveikojo skaičiaus raktą ir eilutės reikšmę. Tačiau, kadangi HashMap klasė įgyvendina žemėlapio sąsają, ji gali saugoti nulinę reikšmę rakto lauke, reikšmės lauke arba abiejuose.

Duomenų saugojimas HashMap

Naudodami HashMap klasę galite atlikti keletą operacijų. The įdėti (K klavišas, V reikšmė) metodas yra vienas iš populiariausių metodų ir leidžia saugoti duomenis naudojant rakto-reikšmių porą, kur kiekvienas raktas susietas su verte.

importuotijava.util.HashMap;
viešasklasėPagrindinis{
viešasstatinistuštumapagrindinis(String[] args){
//hashMap kūrimas
HashMap<Sveikasis skaičius, eilutė> fruitsMap = naujas HashMap<Sveikasis skaičius, eilutė>();
//pridėkite elementus prie HashMap
fruitsMap.put (3,"Kriaušė");
fruitsMap.put (6,"Mango");
fruitsMap.put (7,"Slyva");
fruitsMap.put (4,"Apple");
fruitsMap.put (1,"Oranžinė");
fruitsMap.put (5,"Uogos");
fruitsMap.put (2,"Melionas");
}
}

Aukščiau pateikta atnaujinta klasė naudoja put() metodą, kad pridėtų kelis vaisius ir jų raktą į esamą fruitsMap duomenų struktūrą. Svarbu pažymėti, kad aukščiau pateiktas kodas duomenis į žemėlapį prideda atsitiktinai. Ši detalė bus naudinga, kai pradėsite skaityti duomenis iš HashMap.

Duomenų skaitymas iš HashMap

Yra keletas būdų, kaip skaityti duomenis iš HashMap. Naudojamas metodas priklausys nuo to, kaip norite, kad atrodytų duomenys, ar net nuo duomenų, kuriuos norite gauti, tipo.

Gaukite HashMap objektą

Jei norite gauti duomenis kaip objektą, galite tiesiog pasiekti HashMap objektą, kuris toliau pateiktame pavyzdyje yra fruitsMap.

//Peržiūrėkite visus elementus kaip objektą
Sistema.išėjo.println(vaisiaiŽemėlapis);

Pridėjus aukščiau esančią kodo eilutę prie pagrindinės klasės, konsolėje išspausdinama tokia išvestis:

{1 = apelsinas, 2 = melionas, 3 = kriaušė, 4 = obuolys, 5 = uogos, 6 = mangas, 7 = slyva}

Nors kiekviena reikšmė buvo atsitiktinai įtraukta į HashMap, iš išvesties pamatysite, kad HashMap saugo reikšmes didėjančia tvarka, remiantis kiekvienai reikšmei priskirtu raktu. Tai funkcija, kuri iškelia „HashMaps“ prieš kitas duomenų struktūras, tokias kaip „ Masyvo duomenų struktūra kurios palaiko tik linijinį saugojimą.

Gauti visus duomenis atskirai

Jei norite gauti visus duomenis atskirai, galite naudoti dėl metodas, leidžiantis pereiti per HashMap ir atspausdinti kiekvieną reikšmę bei atitinkamą raktą. Šis metodas naudoja žemėlapio sąsają, kurią įgyvendina HashMap klasė.

//peržiūrėti visus elementus naudodami iteratorių 
už (HashMap. Įėjimas<Sveikasis skaičius, eilutė> vaisiai: fruitsMap.entrySet())
{
System.out.println("Raktas: " + vaisiai.getKey() + " Vertė: " + vaisiai.getValue());
}

Pridėjus aukščiau pateiktą metodą prie kodo, konsolėje bus išspausdinta ši išvestis:

Raktas: 1 Reikšmė: Oranžinė
Raktas: 2 Vertė: Melionas
Raktas: 3 Vertė: kriaušė
Raktas: 4 Reikšmė: Apple
Raktas: 5 Vertė: Uogos
Raktas: 6 Vertė: Mango
Raktas: 7 Vertė: Slyva

Gaukite konkrečią reikšmę

HashMap klasėje yra a gauti () metodas, kuris paima raktą ir grąžina su šiuo raktu susietą reikšmę.

//paimti vieną elementą
Sistema.išėjo.println(vaisiaiŽemėlapis.gauti(4));

Aukščiau pateikta kodo eilutė konsolėje išspausdina šią išvestį:

Apple

Duomenų atnaujinimas HashMap

Sukūrę ir užpildę HashMap objektą, galite naudoti pakeisti () būdas atnaujinti bet kurį elementą žemėlapyje. Keitimo() metodui reikalingi du arba trys argumentai. Pirmasis „replace()“ metodas paima raktą, susietą su esamu elementu, kartu su nauja reikšme, kurią norite susieti su juo.

// pakeisti vieną elementą
fruitsMap.replace (4, "Vynuogės");
Sistema.išėjo.spausdinti(vaisiaiŽemėlapis);

Vykdant aukščiau pateiktą kodą konsolėje išspausdinamas šis objektas:

{1 = apelsinas, 2 = melionas, 3 = kriaušė, 4 = vynuogės, 5 = uogos, 6 = mangas, 7 = slyva}

Kaip matote iš aukščiau esančio objekto, „Vynuogės“ susietos su 4, kurios anksčiau buvo susietos su „Apple“.

Antrasis keitimo() metodas paima raktą, susietą su esamu elementu, esamu elementu ir pakeitimo verte.

// pakeisti vieną elementą
fruitsMap.replace (4, "Apple", "Vynuogės");
Sistema.išėjo.spausdinti(vaisiaiŽemėlapis);

Aukščiau pateiktas kodas konsolėje atspausdina šį objektą:

{1 = apelsinas, 2 = melionas, 3 = kriaušė, 4 = vynuogės, 5 = uogos, 6 = mangas, 7 = slyva}

Duomenų ištrynimas iš HashMap

Galite ištrinti konkretų elementą iš savo HashMap naudodami pašalinti () metodą arba ištrinkite visus duomenis naudodami aišku () metodas. Metodas Remove() turi vieną arba du argumentus. Pirmajam pašalinimo metodui naudojamas raktas, susietas su norima pašalinti reikšme:

//ištrinti vieną elementą
vaisiaiŽemėlapis.pašalinti(5);
Sistema.išėjo.println(vaisiaiŽemėlapis);

Aukščiau pateiktas kodas konsolėje atspausdina šį objektą:

{1 = apelsinas, 2 = melionas, 3 = kriaušė, 4 = obuolys, 6 = mangas, 7 = slyva}

Atnaujintas objektas rodo, kad elementas, kurio rakto-reikšmių pora yra 5 ir „Uogos“, nebėra vaisių žemėlapio dalis. Antrasis remove() metodas paima raktą ir reikšmę, su kuria jis susietas.

//ištrinti vieną elementą
fruitsMap.remove (5, "Uogos");
Sistema.išėjo.println(vaisiaiŽemėlapis);

Aukščiau pateiktas kodas taip pat atspausdina šį objektą konsolėje:

{1 = apelsinas, 2 = melionas, 3 = kriaušė, 4 = obuolys, 6 = mangas, 7 = slyva}

Clear() metodas nepriima jokių argumentų ir grąžina negaliojantį.

vaisiaiŽemėlapis.aišku();
Sistema.išėjo.println(vaisiaiŽemėlapis);

Vykdant aukščiau pateiktą kodą konsolėje išspausdinamas šis tuščias objektas:

{}

Dabar galite atlikti CRUD operacijas „Java HashMap“.

„HashMaps“ yra viena iš kelių populiarių duomenų struktūrų, kurias turite žinoti. Šis straipsnis moko, kaip atlikti CRUD operacijas „Java HashMaps“. „HashMap“ yra labai naudinga duomenų struktūra, pagrindinis jos pardavimo taškas yra tai, kad dėl prieigos greičio ji yra viena iš efektyviausių duomenų struktūrų. Tačiau jis taip pat labai patogus naudoti, nes leidžia atsitiktinai saugoti.