Un HashMap (sau un HashTable) este o structură de date care permite accesul rapid la date folosind perechi cheie-valoare. Clasa Java HashMap extinde AbstractHarta clasa și implementează interfața Map, care îi oferă acces la o mulțime de operațiuni. HashMaps au doi parametri de tip - K și V, unde K stochează cheile și V stochează valorile în fiecare HashMap.
HashMap vă permite să mapați cheile la o anumită valoare și să stocați articole în ordine aleatorie. În acest articol, veți învăța cum să utilizați clasa HashMap din Java pentru a stoca, prelua, actualiza și șterge date.
Crearea unui HashMap Java
Clasa Java HashMap are patru constructori. Constructorul implicit este cel mai popular, vă permite să creați un HashMap gol care va avea o capacitate implicită de 16.
importjava.util.HashMap;
publicclasăPrincipal{
publicstaticgolprincipal(Șir[] argumente){
//crearea unui HashMap
HashMap<Număr întreg, șir> fruitMap = noua Hartă Hash<Număr întreg, șir>();
}
}
The Clasa Java de mai sus folosește constructorul HashMap implicit pentru a crea o structură de date numită
Harta fructelor. Obiectul fruitsMap va stoca date care au o cheie întreagă și o valoare șir. Cu toate acestea, deoarece clasa HashMap implementează interfața Map, poate stoca o valoare nulă fie în câmpul cheie, fie în câmpul valoare sau ambele.Stocarea datelor într-un HashMap
Puteți efectua mai multe operații folosind clasa HashMap. The pune (tasta K, valoarea V) metoda este printre cele mai populare metode ale sale și vă permite să stocați date folosind o pereche cheie-valoare, în care fiecare cheie se mapează la o valoare.
importjava.util.HashMap;
publicclasăPrincipal{
publicstaticgolprincipal(Șir[] argumente){
//crearea unui HashMap
HashMap<Număr întreg, șir> fruitMap = noua Hartă Hash<Număr întreg, șir>();
//adăugați elemente la HashMap
fructeMap.put (3,"Pară");
fructeMap.put (6,"Mango");
fructeMap.put (7,"Prună");
fructeMap.put (4,"Măr");
fructeMap.put (1,"Portocale");
fructeMap.put (5,"Fructe de pădure");
fructeMap.put (2,"Pepene");
}
}
Clasa actualizată de mai sus folosește metoda put() pentru a adăuga mai multe fructe și cheia acestora la structura de date fruitMap existentă. Este important de reținut că codul de mai sus adaugă datele pe hartă în mod aleatoriu. Acest detaliu va deveni util atunci când începeți să citiți datele din HashMap.
Citirea datelor dintr-o hartă Hash
Există mai multe moduri de a citi datele de pe un HashMap. Metoda pe care o utilizați va depinde de modul în care doriți să arate datele sau chiar de tipul de date pe care doriți să le preluați.
Preluați obiectul HashMap
Dacă doriți să preluați datele ca obiect, puteți accesa pur și simplu obiectul HashMap, care în exemplul de mai jos este fruitMap.
//Vizualizați toate elementele ca obiect
Sistem.out.println(Harta fructelor);
Adăugând linia de cod de mai sus la clasa Main, se tipărește următoarea ieșire în consolă:
{1=Portocale, 2=Pepene galben, 3=Pere, 4=Mere, 5=Bace, 6=Mango, 7=Prune}
Deși fiecare valoare a fost adăugată aleatoriu în HashMap, din rezultat veți vedea că HashMap stochează valorile în ordine crescătoare, pe baza cheii atribuite fiecărei valori. Aceasta este o caracteristică care pune HashMaps înaintea altor structuri de date, cum ar fi Structura de date matrice care acceptă doar stocarea liniară.
Preluați toate datele individual
Dacă doriți să preluați toate datele individual, atunci puteți utiliza pentru metodă care vă permite să traversați HashMap și să imprimați fiecare valoare și cheia corespunzătoare. Această metodă folosește interfața Map pe care o implementează clasa HashMap.
//vezi toate articolele cu un iterator
pentru (HashMap. Intrare<Număr întreg, șir> fructe: fruitsMap.entrySet())
{
System.out.println("Cheie: " + fruct.getKey() + " Valoare: " + fruct.getValue());
}
Adăugarea metodei de mai sus la codul dvs. va imprima următoarea ieșire în consola dvs.:
Cheie: 1 Valoare: Portocaliu
Cheie: 2 Valoare: Pepene galben
Cheie: 3 Valoare: Pere
Cheie: 4 Valoare: Apple
Cheie: 5 Valoare: Fructe de pădure
Cheie: 6 Valoare: Mango
Cheie: 7 Valoare: Prune
Preluați o valoare specifică
Clasa HashMap are un obține() metodă care preia o cheie și returnează valoarea mapată la această cheie.
//aduceți un singur articol
Sistem.out.println(Harta fructelor.obține(4));
Linia de cod de mai sus afișează următoarea ieșire în consolă:
Măr
Actualizarea datelor într-un HashMap
După ce creați și completați un obiect HashMap, puteți utiliza a inlocui() metodă de a actualiza orice element din Hartă. Metoda replace() are două sau trei argumente. Prima metodă replace() preia cheia asociată unui element existent, împreună cu noua valoare pe care doriți să o mapați.
// înlocuiește un singur articol
fructeMap.replace (4, "Strugurii");
Sistem.out.imprimare(Harta fructelor);
Executarea codului de mai sus tipărește următorul obiect în consolă:
{1=Portocală, 2=Pepene galben, 3=Pere, 4=Struguri, 5=Bace, 6=Mango, 7=Prune}
După cum puteți vedea din obiectul de mai sus, „strugurii” se mapează la 4, care anterior era mapat la „Apple”.
A doua metodă replace() preia cheia asociată cu elementul existent, elementul existent și valoarea de înlocuire.
// înlocuiește un singur articol
fructeMap.replace (4, "Măr", "Strugurii");
Sistem.out.imprimare(Harta fructelor);
Codul de mai sus tipărește următorul obiect în consolă:
{1=Portocală, 2=Pepene galben, 3=Pere, 4=Struguri, 5=Bace, 6=Mango, 7=Prune}
Ștergerea datelor dintr-o hartă Hash
Puteți fie să ștergeți un anumit articol de pe HashMap folosind elimina() metoda sau ștergeți toate datele folosind clar() metodă. Metoda remove() ia unul sau două argumente. Prima metodă de eliminare preia cheia asociată cu valoarea pe care doriți să o eliminați:
//sterge un singur articol
Harta fructelor.elimina(5);
Sistem.out.println(Harta fructelor);
Codul de mai sus tipărește următorul obiect în consolă:
{1=Portocale, 2=Pepene galben, 3=Pere, 4=Mer, 6=Mango, 7=Prune}
Obiectul actualizat arată că elementul cu perechea cheie-valoare 5 și „Berries” nu mai face parte din fruitMap. A doua metodă remove() preia o cheie și valoarea la care se mapează.
//sterge un singur articol
fructeMap.remove (5, "Fructe de pădure");
Sistem.out.println(Harta fructelor);
Codul de mai sus tipărește și următorul obiect în consolă:
{1=Portocale, 2=Pepene galben, 3=Pere, 4=Mer, 6=Mango, 7=Prune}
Metoda clear() nu ia argumente și returnează void.
Harta fructelor.clar();
Sistem.out.println(Harta fructelor);
Executarea codului de mai sus tipărește următorul obiect gol în consolă:
{}
Acum puteți efectua operațiuni CRUD pe o hartă HashMap Java
HashMaps este una dintre numeroasele structuri de date populare pe care trebuie să le cunoașteți. Acest articol vă învață cum să efectuați operațiuni CRUD pe Java HashMaps. HashMap este o structură de date foarte utilă, principalul său punct de vânzare este că este una dintre cele mai eficiente structuri de date, datorită vitezei de acces. Cu toate acestea, este și foarte convenabil de utilizat, deoarece permite stocarea aleatorie.