Et HashMap (eller en HashTable) er en datastruktur, der giver hurtig adgang til data ved hjælp af nøgleværdi-par. Java HashMap-klassen udvider Abstrakt kort klasse og implementerer kortgrænsefladen, som giver den adgang til en masse operationer. HashMaps har to typeparametre – K og V, hvor K gemmer nøglerne og V gemmer værdierne i hver HashMap.

HashMap giver dig mulighed for at tilknytte nøgler til en bestemt værdi og gemme elementer i tilfældig rækkefølge. I denne artikel lærer du, hvordan du bruger Javas HashMap-klasse til at gemme, hente, opdatere og slette data.

Oprettelse af et Java HashMap

Java HashMap-klassen har fire konstruktører. Standardkonstruktøren er den mest populære, den giver dig mulighed for at oprette et tomt HashMap, der vil have en standardkapacitet på 16.

importerejava.util.HashMap;
offentligklasseHoved{
offentligstatiskugyldigvigtigste(String[] args){
//oprettelse af et HashMap
HashMap<Heltal, streng> fruitsMap = nyt HashMap<Heltal, streng>();
}
}

Det Java klasse ovenfor bruger standard HashMap-konstruktøren til at skabe en datastruktur kaldet

instagram viewer
frugter Kort. fruitsMap-objektet gemmer data, der har en heltalsnøgle og en strengværdi. Men da HashMap-klassen implementerer kortgrænsefladen, kan den gemme en nulværdi i enten nøglefeltet, værdifeltet eller begge dele.

Lagring af data i et HashMap

Du kan udføre flere operationer ved hjælp af HashMap-klassen. Det put (K-tast, V-værdi) metoden er blandt dens mest populære metoder, og den giver dig mulighed for at gemme data ved hjælp af et nøgle-værdi-par, hvor hver nøgle er knyttet til en værdi.

importerejava.util.HashMap;
offentligklasseHoved{
offentligstatiskugyldigvigtigste(String[] args){
//oprettelse af et HashMap
HashMap<Heltal, streng> fruitsMap = nyt HashMap<Heltal, streng>();
//tilføj elementer til HashMap
fruitsMap.put (3,"Pære");
fruitsMap.put (6,"Mango");
fruitsMap.put (7,"Blomme");
fruitsMap.put (4,"Æble");
fruitsMap.put (1,"orange");
fruitsMap.put (5,"Bær");
fruitsMap.put (2,"Melon");
}
}

Den opdaterede klasse ovenfor bruger put()-metoden til at tilføje flere frugter og deres nøgle til den eksisterende fruitsMap-datastruktur. Det er vigtigt at bemærke, at koden ovenfor tilføjer data til kortet tilfældigt. Denne detalje vil blive nyttig, når du begynder at læse dataene fra HashMap.

Læsning af data fra et HashMap

Der er flere måder at læse data fra et HashMap på. Den metode, du bruger, afhænger af, hvordan du vil have dataene til at se ud eller endda den type data, du vil hente.

Hent HashMap-objektet

Hvis du ønsker at hente dataene som et objekt, kan du blot tilgå HashMap-objektet, som i eksemplet nedenfor er fruitsMap.

//Se alle elementerne som et objekt
System.ud.println(frugter Kort);

Tilføjelse af kodelinjen ovenfor til Main-klassen udskriver følgende output i konsollen:

{1=Orange, 2=Melon, 3=Pære, 4=Æble, 5=Bær, 6=Mango, 7=Blumme}

Selvom hver værdi blev tilføjet tilfældigt til HashMap, vil du fra outputtet se, at HashMap gemmer værdierne i stigende rækkefølge, baseret på den nøgle, der er tildelt hver værdi. Dette er en funktion, der sætter HashMaps foran andre datastrukturer såsom Array datastruktur der kun understøtter lineær lagring.

Hent alle data individuelt

Hvis du ønsker at hente alle data individuelt, så kan du bruge til metode, der giver dig mulighed for at gå gennem HashMap og udskrive hver værdi og dens tilsvarende nøgle. Denne metode anvender kortgrænsefladen, som HashMap-klassen implementerer.

//se alle elementer med en iterator 
for (HashMap. Indgang<Heltal, streng> frugt: fruitsMap.entrySet())
{
System.out.println("Nøgle: " + fruit.getKey() + " Værdi: " + fruit.getValue());
}

Tilføjelse af metoden ovenfor til din kode vil udskrive følgende output i din konsol:

Nøgle: 1 Værdi: Orange
Nøgle: 2 Værdi: Melon
Nøgle: 3 Værdi: Pære
Nøgle: 4 Værdi: Apple
Nøgle: 5 Værdi: Bær
Nøgle: 6 Værdi: Mango
Nøgle: 7 Værdi: Blomme

Hent en specifik værdi

HashMap-klassen har en få() metode, der tager en nøgle og returnerer den værdi, der er knyttet til denne nøgle.

//hent et enkelt element
System.ud.println(frugter Kort.få(4));

Kodelinjen ovenfor udskriver følgende output i konsollen:

Æble

Opdatering af data i et HashMap

Når du har oprettet og udfyldt et HashMap-objekt, kan du bruge erstatte() metode til at opdatere ethvert element på kortet. Metoden replace() tager to eller tre argumenter. Den første replace()-metode tager den nøgle, der er knyttet til et eksisterende element, sammen med den nye værdi, du vil tilknytte det.

// erstatte et enkelt element
fruitsMap.replace (4, "Druer");
System.ud.Print(frugter Kort);

Ved at udføre koden ovenfor udskrives følgende objekt i konsollen:

{1=Orange, 2=Melon, 3=Pære, 4=Druer, 5=Bær, 6=Mango, 7=Blumme}

Som du kan se fra objektet ovenfor, kortlægges "Druer" til 4, som tidligere er kortlagt til "Apple".

Den anden erstatning()-metode tager den nøgle, der er knyttet til det eksisterende element, det eksisterende element og erstatningsværdien.

// erstatte et enkelt element
fruitsMap.replace (4, "Æble", "Druer");
System.ud.Print(frugter Kort);

Koden ovenfor udskriver følgende objekt i konsollen:

{1=Orange, 2=Melon, 3=Pære, 4=Druer, 5=Bær, 6=Mango, 7=Blumme}

Sletning af data fra et HashMap

Du kan enten slette et bestemt element fra dit HashMap ved hjælp af fjerne() metode eller slet alle data ved hjælp af klar() metode. Metoden remove() tager enten et eller to argumenter. Den første fjernelsesmetode tager den nøgle, der er knyttet til den værdi, du vil fjerne:

//slet et enkelt element
frugter Kort.fjerne(5);
System.ud.println(frugter Kort);

Koden ovenfor udskriver følgende objekt i konsollen:

{1=Orange, 2=Melon, 3=Pære, 4=Æble, 6=Mango, 7=Blumme}

Det opdaterede objekt viser, at elementet med nøgleværdi-parret 5 og "Bær" ikke længere er en del af frugtkortet. Den anden remove()-metode tager en nøgle og den værdi, som den er knyttet til.

//slet et enkelt element
fruitsMap.remove (5, "Bær");
System.ud.println(frugter Kort);

Ovenstående kode udskriver også følgende objekt i konsollen:

{1=Orange, 2=Melon, 3=Pære, 4=Æble, 6=Mango, 7=Blumme}

Clear()-metoden tager ingen argumenter og returnerer void.

frugter Kort.klar();
System.ud.println(frugter Kort);

Ved at udføre koden ovenfor udskrives følgende tomme objekt i konsollen:

{}

Nu kan du udføre CRUD-operationer på et Java HashMap

HashMaps er en af ​​flere populære datastrukturer, som du har brug for at kende. Denne artikel lærer dig, hvordan du udfører CRUD-operationer på Java HashMaps. HashMap er en meget nyttig datastruktur, dens vigtigste salgsargument er, at det er en af ​​de mest effektive datastrukturer på grund af dens adgangshastighed. Det er dog også meget praktisk at bruge, da det tillader tilfældig opbevaring.