Diferența dintre HashMap și HashTable

Diferența cheie: În domeniul informaticii, un hashTable sau un hashmap se referă la o structură de date care leagă cheile (numele) cu valori (atribute). În Java, există unele diferențe importante între cele două cum ar fi: HashTable este sincronizat și HashMap este nesincronizat. Un HashTable nu permite cheile null. Cu toate acestea, un HashMap permite o singură cheie nulă și orice număr de valori nula.

HashMap și hashTable sunt structuri de date care fac parte din colecția Java. Ei folosesc perechi cheie-valoare pentru a stoca obiecte. Amândouă împărtășesc câteva asemănări, cum ar fi implementarea interfeței java.util.Map și ambele lucrează pe principiul hashing-ului. Cu toate acestea, când ne referim la ele în contextul limbajului de programare Java, există numeroase diferențe între cele două.

Un hashTable este folosit pentru a stoca și a prelua o valoare utilizând o cheie. În acest scop, cheia trebuie să fie unică. Tabelul care este utilizat pentru a stoca perechile de chei și valori este cunoscut sub numele de tabelul hash. O tabelă hash se formează folosind un algoritm care are tastele. Această funcție hash este utilizată pentru a atribui numere la datele de intrare și apoi datele sunt stocate ca indice de matrice care corespunde numărului calculat sau evaluat.

Ca un hashTable, un hashMap funcționează și pe aceleași principii ale hashing-ului. Acesta poate fi considerat ca o tabelă de tip hash implementarea interfeței Map. Cu toate acestea, acesta diferă de hashTable pe câteva puncte. HashMap este nesincronizat, în timp ce hashTable este sincronizat. Sincronizarea înseamnă că, la un moment de particulă, un singur fir poate modifica masa. Astfel, pentru a efectua o operație de actualizare pe hashTable, trebuie să fie achiziționată o mască de blocare pe masă. Pentru acel moment, celelalte fire trebuie să aștepte. După deblocare, celelalte fire pot continua și pot lucra pe masă. O altă diferență majoră între cele două este faptul că hashTable nu permite o cheie nulă. Cu toate acestea, hashMap permite o singură cheie nulă și orice număr de valori nula.

Comparație între HashMap și HashTable:

HashMap

Hashtable

Sincronizare

Este nesincronizată

Este sincronizat (threaded safe)

Valori nula

Permite valori nula ca cheie și valoare

Nu permite nulls

Introducere în java

Versiunea Java 1.2

Prima versiune a kitului de dezvoltare java

Performanţă

Comparativ mai bine

Comparativ sărac

Prelungește

Extinde clasa AbstractMap

Extinde clasa Dicționar care este destul de veche

Iterația cheilor

Iteratorul este utilizat pentru iterarea cheilor

Interfața de interfață este utilizată pentru cheile de iterare

Aplicații

Mai bine pentru aplicațiile fără fire

În general, în condiții de siguranță pentru aplicațiile cu mai multe fire

serializare

Nu este serializată

serializate

Alternativă

Se poate folosi un hashmap concurent pentru mediul cu mai multe fire

Nu există o astfel de alternativă

Recomandat

Articole Similare

  • comparații populare: Diferența dintre Samsung Galaxy S4 Active și Samsung Galaxy S4

    Diferența dintre Samsung Galaxy S4 Active și Samsung Galaxy S4

    Diferenta cheie: Samsung a anuntat ca a adaugat un nou telefon la gama sa care imbina robustetea vechii Samsung Xcover cu caracteristicile si oomph-ul noului Galaxy S4. S4 Active este praf și impermeabil. Telefonul este dotat cu un touchscreen capacitiv TFT Full HD TFT de 5 inch, care diferă de AMOLED folosit în S4. S
  • comparații populare: Diferența dintre presiune și stres

    Diferența dintre presiune și stres

    Diferența cheie: presiunea presupune un sentiment de urgență impus pe cineva. Presiunea este adesea folosită ca factor motivator. Cu toate acestea, dacă o persoană trebuie să se confrunte cu prea multă presiune sau este supusă unei presiuni prea des, atunci presiunea poate duce la stres. Stresul are un impact negativ. Aceasta
  • comparații populare: Diferența dintre gene și genom

    Diferența dintre gene și genom

    Diferența principală : Gene este o unitate de ereditate care este compusă din ADN ocupând o poziție fixă ​​pe un cromozom. Genomul este definit ca un grup de toate genele care cuprinde un set de cromozomi haploidici. Cu numeroase specii diferite prezente în întreaga lume, fiecare specie are un set unic de caracteristici moștenite care le fac diferite unul de celălalt. Aceste carac
  • comparații populare: Diferența dintre lucrurile care trăiesc și cele care nu trăiesc

    Diferența dintre lucrurile care trăiesc și cele care nu trăiesc

    Diferența cheie: lucrurile vii arată caracteristicile vieții, cum ar fi respirația, reproducerea, creșterea, mișcarea și adaptarea și răspunsul la mediu, în timp ce lucrurile ne-vii sunt exact opuse lucrurilor vii. Articolele non-vii nu prezintă caracteristicile unui lucru viu. Entitățile din jurul nostru pot fi clasificate fie ca fiind vii sau ne-vii. Viața, așa
  • comparații populare: Diferența dintre memoria cache și cookie

    Diferența dintre memoria cache și cookie

    Diferența cheie: Cache-ul și cookie-ul sunt două forme prin care informațiile sunt stocate pe computer. Aceste informații sunt stocate pe mașina clientului pentru a îmbunătăți performanța paginilor web. Ambele diferă în multe aspecte; în primul rând în tipurile de informații stocate de aceștia. Cache stochează
  • comparații populare: Diferența dintre vreme și climat

    Diferența dintre vreme și climat

    Diferența cheie: Vremea este starea sau condițiile atmosferei într-o perioadă scurtă de timp, de obicei o zi sau cam așa ceva. Clima este condițiile medii care se așteaptă la un anumit loc pe parcursul mai multor ani. Vremea și clima sunt cuvinte care sunt adesea auzite în meteorologie, în timp ce vremea este de asemenea folosită zi de zi pentru a se referi la condițiile din afara. Vremea și cl
  • comparații populare: Diferența dintre Samsung Galaxy Win și Sony Xperia J

    Diferența dintre Samsung Galaxy Win și Sony Xperia J

    Diferența cheie: Samsung Galaxy Win este încă un telefon de la Samsung Corporation. Samsung Galaxy Win vine în două variante: Single-SIM și Dual-SIM. Samsung Galaxy Win este de asemenea vândut ca Samsung Galaxy Grand Quattro pe anumite piețe. Telefonul este un smartphone quad-core destinat segmentului de buget. Samsun
  • comparații populare: Diferența dintre muncă, serviciu și afacere

    Diferența dintre muncă, serviciu și afacere

    Diferența cheie: Lucrul este ceva pe care oamenii îl fac în schimbul unor bani, cum ar fi un salariu. Un loc de muncă este adesea pe termen scurt și este făcut doar ca o persoană care necesită bani pentru a trăi. Unul are adesea un loc de muncă în anumite afaceri. Afacerea, întreprinderea sau firma este o organizație care se implică activ în activități comerciale, industriale sau profesionale. Munca, slujba ș
  • comparații populare: Diferența dintre Creche și Naștere

    Diferența dintre Creche și Naștere

    Diferența cheie: în creștinism, scena creșterii și nașterea sunt considerate sinonime. Ele reprezintă nașterea lui Isus Hristos. Un set de statut este folosit în general pentru a reprezenta această ocazie și această scenă este de obicei afișată în timpul sezonului de Crăciun. În general, Creche se referă la un loc în care copiii sunt îngrijiți în timpul zilei în absența părinților. Acesta include copii dint

Alegerea Editorului

Diferența dintre degradarea radioactivă și transmutarea

Diferența cheie: decăderea radioactivă este procesul prin care un nucleu atomic emite particule sau fragmente elementare. Această defalcare a nucleului atomic are ca rezultat eliberarea atât a energiei, cât și a materiei din nucleu. În general, transmutarea se referă la actul schimbării de la o formă la alta. În contex