Ce este Hashmap în Java? Explicat cu Exemple

Publicat: 2021-07-02

HashMap este o clasă de colecție în Java. Îl puteți folosi pentru a stoca perechi cheie și valoare. Performanța sa depinde de capacitatea inițială și de factorul de sarcină. HashMap are diverse metode care vă permit să utilizați structura de date a tabelului hash.

În articolul următor, vom explora ce este HashMap și vom afla despre diferiții săi constructori prin exemple.

Cuprins

Ce este HashMap?

HashMap este o clasă de colecție bazată pe Map. Îl folosim pentru a stoca perechi cheie și valoare. Indicați un HashMap Java ca HashMap<K, V>, unde K reprezintă cheie și V reprezintă valoare.

HashMap este similar cu clasa Hashtable. Diferența dintre cele două este că HashMap este nesincronizat, în timp ce Hashtable nu este. De asemenea, spre deosebire de Hashtable, HashMap permite valorile nule și cheia nulă.

Deoarece HashMap nu este o colecție ordonată, nu returnează cheile și valorile în ordinea în care le inserați. De asemenea, HashMap nu sortează cheile și valorile stocate. Dacă doriți să utilizați clasa HashMap și metodele acesteia, va trebui să importați java.util.HashMap (sau superclasa acesteia).

HashMap vă oferă o implementare simplă a interfeței Map Java. Puteți accesa perechile cheie-valoare pe care le stocați prin HashMap utilizând un index de alt tip (cum ar fi un număr întreg). Rețineți că, dacă utilizați o cheie duplicată, aceasta înlocuiește elementul cheii relevante. De asemenea, puteți utiliza un singur obiect cheie nulă; cu toate acestea, poate exista orice număr de valori nule.

HashMap implementează interfețe Cloneable, Serializable, Map<K, V>. Extinde clasa AbstractMap<K, V>, iar subclasele sale directe sunt PrinterStateReasons și LinkedHashMap.

Caracteristicile HashMap

Următoarele sunt caracteristicile principale din HashMap:

  • Este o componentă a pachetului java.util.package.
  • Puteți folosi valori duplicate, dar HashMap nu permite chei duplicate. Înseamnă că o cheie nu poate avea mai multe valori, dar mai multe chei pot avea o singură valoare.
  • Puteți utiliza cheile nule o singură dată, dar puteți utiliza diverse valori nule.
  • HashMap nu oferă garanții cu privire la ordinea hărții. Deci, nu garantează dacă comanda va rămâne constantă.
  • HashMap este foarte asemănător cu Hashtable, singura diferență fiind că HashMap este nesincronizat.
  • HashMap implementează o interfață serializabilă și clonabilă.

Constructori HashMap

Există patru constructori în HashMap:

1. HashMap()

HashMap() este constructorul implicit care creează o instanță cu un factor de încărcare de 0,75 și o capacitate inițială de 16.

Exemplu :

// Arată cum funcționează constructorul HashMap().

import java.io.*;

import java.util.*;

clasa AddElementsToHashMap {

public static void main(Argumente șir[])

{

// Nu trebuie să menționezi

// Tip generic de două ori

HashMap<Integer, String> hm1 = new HashMap<>();

// Folosind generice pentru a inițializa HashMap

HashMap<Integer, String> hm2

= new HashMap<Integer, String>();

// Folosiți metoda put pentru a adăuga orice element

hm1.put(1, „A”);

hm1.put(2, „B”);

hm1.put(3, „C”);

hm2.put(4, „D”);

hm2.put(5, „E”);

hm2.put(6, „F”);

System.out.println(„Rezultatele hm1 sunt: ​​„

+ hm1);

System.out.println(„Rezultatele HashMap hm2 sunt: ​​„

+ hm2);

}

}

Ieșire :

Rezultatele lui hm1 sunt: ​​{1=A, 2=B, 3=C}

Rezultatele lui hm2 sunt: ​​{4=D, 5=E, 6=F}

2. HashMap(int initialCapacity)

HashMap(int initialCapacity) ar crea o instanță cu încărcare 0,75 și o capacitate inițială specifică.

Exemplu :

// Arată cum funcționează constructorul HashMap(int initialCapacity).

import java.io.*;

import java.util.*;

clasa AddElementsToHashMap {

public static void main(Argumente șir[])

{

// Nu trebuie să menționezi

// Tip generic de două ori

HashMap<Integer, String> hm1 = new HashMap<>(10);

// Folosind generice pentru a inițializa HashMap

HashMap<Integer, String> hm2

= new HashMap<Integer, String>(2);

// Folosiți metoda put pentru a adăuga orice element

hm1.put(1, „A”);

hm1.put(2, „B”);

hm1.put(3, „C”);

hm2.put(4, „D”);

hm2.put(5, „E”);

hm2.put(6, „F”);

System.out.println(„Rezultatele hm1 sunt: ​​„

+ hm1);

System.out.println(„Rezultatele HashMap hm2 sunt: ​​„

+ hm2);

}

}

Ieșire :

Rezultatele lui hm1 sunt: ​​{1=A, 2=B, 3=C}

Rezultatele lui hm2 sunt: ​​{4=D, 5=E, 6=F}

3. HashMap (int initialCapacity, float loadFactor)

HashMap(int initialCapacity, float loadFactor) generează o instanță cu un anumit factor de încărcare și capacitate inițială.

Exemplu :

// Afișează cum funcționează constructorul HashMap(int initialCapacity, float loadFactor).

import java.io.*;

import java.util.*;

clasa AddElementsToHashMap {

public static void main(Argumente șir[])

{

// Nu trebuie să menționezi

// Tip generic de două ori

HashMap<Integer, String> hm1

= nou HashMap<>(5, 0.75f);

// Folosind generice pentru a inițializa HashMap

HashMap<Integer, String> hm2

= new HashMap<Integer, String>(3, 0.5f);

// Folosește metoda put pentru a adăuga elemente

hm1.put(1, „A”);

hm1.put(2, „B”);

hm1.put(3, „C”);

hm2.put(4, „D”);

hm2.put(5, „E”);

hm2.put(6, „F”);

System.out.println(„Rezultatele hm1 sunt: ​​„

+ hm1);

System.out.println(„Rezultatele HashMap hm2 sunt: ​​„

+ hm2);

}

}

Ieșire :

Rezultatele lui hm1 sunt: ​​{1=A, 2=B, 3=C}

Rezultatele lui hm2 sunt: ​​{4=D, 5=E, 6=F}

4. HashMap (Hartă hartă)

HashMap(Map map) va crea o instanță cu aceleași mapări ca și harta pe care o specificați.

Exemplu :

// Afișează cum funcționează constructorul HashMap(Map map).

import java.io.*;

import java.util.*;

clasa AddElementsToHashMap {

public static void main(Argumente șir[])

{

// Nu trebuie să menționezi

// Tip generic de două ori

Map<Integer, String> hm1 = new HashMap<>();

// Folosind generice pentru a inițializa HashMap

HashMap<Integer, String> hm2

= new HashMap<Integer, String>(hml);

// Folosiți metoda put pentru a adăuga orice element

hm1.put(1, „A”);

hm1.put(2, „B”);

hm1.put(3, „C”);

hm2.put(4, „D”);

hm2.put(5, „E”);

hm2.put(6, „F”);

System.out.println(„Rezultatele hm1 sunt: ​​„

+ hm1);

System.out.println(„Rezultatele HashMap hm2 sunt: ​​„

+ hm2);

}

}

Ieșire :

Rezultatele lui hm1 sunt: ​​{1=A, 2=B, 3=C}

Rezultatele lui hm2 sunt: ​​{4=D, 5=E, 6=F}

Aflați mai multe despre Java

Java are multe clase în afară de HashMap. A învăța singur despre esențialul fiecăreia dintre aceste clase, utilizările lor și integrarea în Java este destul de dificil. Cea mai bună modalitate de a parcurge acest proces este să urmezi un curs de informatică.

Luarea unui curs profesional vă va permite să stăpâniți abilitățile și conceptele necesare printr-un curriculum structurat. În plus, astfel de cursuri oferă o experiență de învățare captivantă, facilitată de videoclipuri, sesiuni live și prelegeri online, care vă fac mai ușor să înțelegeți fundamentele teoretice.

Puteți consulta programul nostru de Master în Științe în Informatică , oferit în asociere cu LJMU (Liverpool John Moores University, Marea Britanie) și IIIT-B (Institutul Internațional de Tehnologia Informației, India). Cursul acoperă peste 500 de ore de conținut, peste 10 prelegeri live și peste 30 de studii de caz.

Acest curs de 19 luni promite o experiență de învățare globală și orientată spre valoare. Cea mai mare valoare adăugată constă în faptul că poți să te conectezi și să interacționezi cu colegii din întreaga lume. upGrad se laudă că are peste 40.000 de cursanți plătiți la nivel global, răspândiți în peste 85 de țări. Ca rezultat, sunteți expus la noi culturi, noi opinii și noi perspective care vă extind perspectiva generală. Nu doar atât, sunteți instruiți de mentori experți de la LJMU și IIIT-B care vă oferă asistență dedicată și personalizată pentru a vă ajuta să vă rezolvați îndoielile.

Alături de aceste avantaje, acest program vă va oferi asistență în carieră de 360 ​​de grade, care include mentorat în industrie, oportunități de creare de rețele și multe altele.

Concluzie

În acest articol, am aflat ce este HashMap, diferiții săi constructori și cum îi puteți implementa prin exemple. HashMap are o mulțime de aplicații în Java - puteți folosi HashMap pentru a adăuga elemente, a le elimina și a le gestiona după cum este necesar.

Ce părere aveți despre acest ghid pe HashMap? Distribuiți-le în secțiunea de comentarii de mai jos.

Perfecționează-te și pregătește-te pentru viitor

Aplicați acum pentru cursul de inginerie software LJMU