HashMap (või HashTable) on andmestruktuur, mis võimaldab võtme-väärtuste paaride abil kiiret juurdepääsu andmetele. Java HashMap klass laiendab Abstraktne kaart klassi ja rakendab Map liidest, mis annab sellele juurdepääsu paljudele toimingutele. HashMapsil on kahte tüüpi parameetrid – K ja V, kus K salvestab võtmed ja V väärtused igas HashMapis.

HashMap võimaldab teil vastendada võtmeid konkreetse väärtusega ja salvestada üksusi juhuslikus järjekorras. Sellest artiklist saate teada, kuidas kasutada Java klassi HashMap andmete salvestamiseks, toomiseks, värskendamiseks ja kustutamiseks.

Java HashMapi loomine

Java HashMap klassil on neli konstruktorit. Vaikekonstruktor on kõige populaarsem, see võimaldab teil luua tühja HashMapi, mille vaikemaht on 16.

importidajava.util.HashMap;
avalikklassPeamine{
avalikstaatilinetühinepeamine(String[] args){
//HashMapi loomine
HashMap<Täisarv, string> fruitsMap = uus HashMap<Täisarv, string>();
}
}

The Java klass ülaltoodud kasutab vaikekonstruktorit HashMap, et luua andmestruktuuri nimega

instagram viewer
puuviljadKaart. Objekt fruitsMap salvestab andmed, millel on täisarvuline võti ja stringi väärtus. Kuna aga klass HashMap rakendab kaardiliidest, võib see salvestada nullväärtuse kas võtmeväljale, väärtuse väljale või mõlemale.

Andmete salvestamine HashMapis

HashMap klassi abil saate teha mitmeid toiminguid. The pane (K-klahv, V-väärtus) meetod on üks populaarsemaid meetodeid ja see võimaldab salvestada andmeid võtme-väärtuste paari abil, kus iga võti vastendatakse väärtusega.

importidajava.util.HashMap;
avalikklassPeamine{
avalikstaatilinetühinepeamine(String[] args){
//HashMapi loomine
HashMap<Täisarv, string> fruitsMap = uus HashMap<Täisarv, string>();
//lisage üksused HashMapi
fruitsMap.put (3,"Pirn");
fruitsMap.put (6,"Mango");
fruitsMap.put (7,"Ploom");
fruitsMap.put (4,"Apple");
fruitsMap.put (1,"Oranž");
fruitsMap.put (5,"Marjad");
fruitsMap.put (2,"Melon");
}
}

Ülaltoodud uuendatud klass kasutab put() meetodit mitme puuvilja ja nende võtme lisamiseks olemasolevasse fruitsMap andmestruktuuri. Oluline on märkida, et ülaltoodud kood lisab andmed kaardile juhuslikult. See detail on kasulik, kui hakkate HashMapist andmeid lugema.

Andmete lugemine HashMapist

HashMapist andmete lugemiseks on mitu võimalust. Kasutatav meetod sõltub sellest, kuidas soovite andmed välja nägema või isegi andmete tüübist, mida soovite tuua.

Tooge HashMap objekt

Kui soovite andmeid objektina hankida, pääsete lihtsalt juurde HashMapi objektile, mis allolevas näites on fruitsMap.

//Vaadake kõiki üksusi objektina
Süsteem.välja.println(puuviljadKaart);

Kui lisate ülaltoodud koodirea põhiklassi, prinditakse konsoolis järgmine väljund:

{1 = apelsin, 2 = melon, 3 = pirn, 4 = õun, 5 = marjad, 6 = mango, 7 = ploom}

Kuigi iga väärtus lisati HashMapi juhuslikult, näete väljundist, et HashMap salvestab väärtused kasvavas järjekorras, lähtudes igale väärtusele määratud võtmest. See on funktsioon, mis seab HashMapsi teistest andmestruktuuridest, näiteks Massiivi andmestruktuur mis toetavad ainult lineaarset salvestamist.

Hankige kõik andmed eraldi

Kui soovite kõik andmed eraldi hankida, saate kasutada jaoks meetod, mis võimaldab teil läbida HashMapi ja printida iga väärtuse ja sellele vastava võtme. See meetod kasutab kaardiliidest, mida HashMap klass rakendab.

//vaata kõiki üksusi iteraatoriga 
jaoks (HashMap. Sissepääs<Täisarv, string> puuvili: fruitsMap.entrySet())
{
System.out.println("Võti: " + puu.getKey() + " Väärtus: " + puu.getValue());
}

Ülaltoodud meetodi lisamine koodile prindib teie konsoolile järgmise väljundi:

Võti: 1 Väärtus: Oranž
Võti: 2 Väärtus: Melon
Võti: 3 Väärtus: Pirn
Võti: 4 Väärtus: Apple
Võti: 5 Väärtus: Marjad
Võti: 6 Väärtus: Mango
Võti: 7 Väärtus: Ploom

Hankige konkreetne väärtus

HashMap klassis on a saada () meetod, mis võtab võtme ja tagastab sellele võtmele vastendatud väärtuse.

//tooma ühe üksuse
Süsteem.välja.println(puuviljadKaart.saada(4));

Ülaltoodud koodirida prindib konsoolis järgmise väljundi:

Apple

Andmete värskendamine HashMapis

Pärast HashMapi objekti loomist ja sisestamist saate kasutada asenda () meetod kaardil mis tahes üksuse värskendamiseks. Meetod asendamine() võtab kaks või kolm argumenti. Esimene asendamismeetod () võtab olemasoleva elemendiga seotud võtme koos uue väärtusega, mille soovite sellele vastendada.

// ühe üksuse asendamine
fruitsMap.replace (4, "Viinamarjad");
Süsteem.välja.print(puuviljadKaart);

Ülaltoodud koodi käivitamine prindib konsooli järgmise objekti:

{1 = apelsin, 2 = melon, 3 = pirn, 4 = viinamarjad, 5 = marjad, 6 = mango, 7 = ploom}

Nagu näete ülaltoodud objektist, on "Viinamarjad" seotud 4-ga, mis varem kaardistati "Apple'iga".

Teine meetod asenda() võtab olemasoleva üksuse, olemasoleva üksuse ja asendusväärtusega seotud võtme.

// ühe üksuse asendamine
fruitsMap.replace (4, "Apple", "Viinamarjad");
Süsteem.välja.print(puuviljadKaart);

Ülaltoodud kood prindib konsoolis järgmise objekti:

{1 = apelsin, 2 = melon, 3 = pirn, 4 = viinamarjad, 5 = marjad, 6 = mango, 7 = ploom}

Andmete kustutamine HashMapist

Saate oma HashMapist konkreetse üksuse kustutada, kasutades eemalda () meetodit või kustutage kõik andmed kasutades selge () meetod. Remove() meetod võtab kas ühe või kaks argumenti. Esimene eemaldamismeetod võtab eemaldatava väärtusega seotud võtme:

//ühe üksuse kustutamine
puuviljadKaart.eemaldada(5);
Süsteem.välja.println(puuviljadKaart);

Ülaltoodud kood prindib konsoolis järgmise objekti:

{1=apelsin, 2=melon, 3=pirn, 4=õun, 6=mango, 7=ploom}

Värskendatud objekt näitab, et üksus võtme-väärtuse paariga 5 ja "Marjad" ei ole enam puuviljakaardi osa. Teine eemaldamismeetod () võtab võtme ja väärtuse, millega see vastendatakse.

//ühe üksuse kustutamine
fruitsMap.remove (5, "Marjad");
Süsteem.välja.println(puuviljadKaart);

Ülaltoodud kood prindib konsoolis ka järgmise objekti:

{1=apelsin, 2=melon, 3=pirn, 4=õun, 6=mango, 7=ploom}

Clear() meetod ei võta argumente ja tagastab tühisuse.

puuviljadKaart.selge();
Süsteem.välja.println(puuviljadKaart);

Ülaltoodud koodi käivitamine prindib konsoolis järgmise tühja objekti:

{}

Nüüd saate CRUD-operatsioone teha Java HashMapis

HashMaps on üks paljudest populaarsetest andmestruktuuridest, mida peate teadma. See artikkel õpetab teile, kuidas Java HashMapsis CRUD-operatsioone teha. HashMap on väga kasulik andmestruktuur, selle peamiseks müügiargumendiks on see, et see on oma juurdepääsukiiruse tõttu üks tõhusamaid andmestruktuure. Samas on seda ka väga mugav kasutada, kuna võimaldab juhuslikku salvestamist.