Differenza tra HashMap e HashTable

Differenza chiave: in informatica, un hashTable o hashMap si riferisce a una struttura dati che collega le chiavi (nomi) con valori (attributi). In Java, ci sono alcune importanti differenze tra i due: HashTable è sincronizzato e HashMap non è sincronizzato. Un HashTable non consente chiavi Null. Tuttavia, una HashMap consente una singola chiave nulla e un numero qualsiasi di valori nulli.

HashMap e hashTable sono strutture di dati che fanno parte della raccolta Java. Utilizzano coppie chiave-valore per archiviare oggetti. Entrambi condividono alcune somiglianze, come ad esempio implementano l'interfaccia java.util.Map e lavorano entrambi sul principio dell'hashing. Tuttavia, quando ci riferiamo ad essi nel contesto del linguaggio di programmazione Java, ci sono numerose differenze tra i due.

Un hashTable viene utilizzato per archiviare e recuperare un valore utilizzando una chiave. A tale scopo, la chiave deve essere unica. La tabella utilizzata per memorizzare le coppie di chiavi e valori è nota come tabella hash. Una tabella hash è formata utilizzando un algoritmo che blocca le chiavi. Questa funzione di hash viene utilizzata per assegnare numeri ai dati di input e quindi i dati vengono memorizzati come indice di array che corrisponde al numero calcolato o valutato.

Come un hashTable, hashMap funziona anche sugli stessi principi di hashing. Può essere considerato come un'implementazione basata sulla tabella hash dell'interfaccia Mappa. Tuttavia, si differenzia dalla hashTable su alcuni punti. HashMap non è sincronizzato, mentre hashTable è sincronizzato. Sincronizzazione significa che in un momento particellare, solo un thread è in grado di modificare la tabella. Pertanto, per eseguire un'operazione di aggiornamento su hashTable, è necessario acquisire un blocco sul tavolo. Per quel particolare momento, gli altri thread devono aspettare. Dopo lo sblocco, gli altri thread possono procedere e lavorare sul tavolo. Un'altra importante differenza tra i due è che hashTable non consente una chiave nulla. Tuttavia, hashMap consente una singola chiave nulla e un numero qualsiasi di valori nulli.

Confronto tra HashMap e HashTable:

HashMap

HashTable

Sincronizzazione

Non è sincronizzato

È sincronizzato (thread-safe)

Valori nulli

Permette valori nulli come chiave e valore

Non consente null

Introduzione in Java

Versione Java 1.2

Prima versione del kit di sviluppo java

Prestazione

Comparativamente migliore

Comparativamente povero

estende

Estende la classe AbstractMap

Estende la classe Dictionary che è piuttosto vecchia

Iterazione delle chiavi

Iterator è usato per iterare le chiavi

L'interfaccia di enumerazione viene utilizzata per l'iterazione delle chiavi

applicazioni

Migliore per le applicazioni senza thread

Generalmente, sicuro per applicazioni multithread

serializzazione

Non serializzato

Serialized

Alternativa

Si può usare hashMap concomitante per l'ambiente multi-thread

Nessuna alternativa

Raccomandato

Articoli Correlati

  • confronti popolari: Differenza tra latte e latte condensato

    Differenza tra latte e latte condensato

    Differenza chiave: il latte è un liquido nutriente che viene secreto dalle ghiandole mammarie di varie femmine del regno animale come mucca, capra e cervo. Il latte condensato è il latte vaccino da cui non è stata rimossa la crema, ma l'acqua è stata rimossa. Dictionary.com definisce "Latte" come: Un liquido bianco opaco o bianco-bluastro secreto dalle ghiandole mammarie dei mammiferi femminili, che serve per il nutrimento dei loro piccoli. Qu
  • confronti popolari: Differenza tra Samsung Galaxy S4 Active e LG Optimus G Pro

    Differenza tra Samsung Galaxy S4 Active e LG Optimus G Pro

    Differenza fondamentale: Samsung ha annunciato di aver aggiunto un nuovo telefono alla sua linea che combina la robustezza del vecchio Samsung Xcover con le caratteristiche e la grinta del nuovo Galaxy S4. S4 Active è resistente alla polvere e all'acqua. Il telefono è dotato di un touchscreen capacitivo TFT Full HD da 5 pollici che si differenzia dall'AMOLED utilizzato nell'S4.
  • confronti popolari: Differenza tra Bajaj Pulsar 180cc DTSI e Bajaj Pulsar 220cc DTSI

    Differenza tra Bajaj Pulsar 180cc DTSI e Bajaj Pulsar 220cc DTSI

    Differenza fondamentale: Bajaj Pulsar 180cc DTS-i e 220cc DTS-i sono entrambi prodotti dell'azienda denominata Bajaj Auto. Entrambi sono dotati della tecnologia DTS-i. Differiscono in molte specifiche. Pulsar 180 cc DTS-i è un buon rapporto qualità-prezzo e può essere preferito per il suo ultimo look sportivo. D
  • confronti popolari: Differenza tra ippopotamo e rinoceronte

    Differenza tra ippopotamo e rinoceronte

    Differenza chiave: l' ippopotamo è un animale semi acquatico grande ed erbivoro appartenente alla famiglia dei mammiferi ippopotamidi. Il rinoceronte è un ungulato di grandi dimensioni, pesante, erbivoro dispari, appartenente alla famiglia dei mammiferi del Rinocerotidae. Entrambi differiscono in numerose caratteristiche; tuttavia la caratteristica più distintiva di un ippopotamo è che le sue orecchie, occhi e narici sono presenti sulla sommità della testa. D&#
  • confronti popolari: Differenza tra falco e falco

    Differenza tra falco e falco

    Differenza chiave: i falchi sono rapaci che sono di solito di dimensioni più piccole e hanno meno peso. I falchi sono rapaci che hanno ali a punta lunga e un becco inteso (concavo). I falchi sono rapaci che di solito sono più piccoli e hanno meno peso. I falchi tendono a cacciare con colpi improvvisi da un trespolo nascosto tra gli alberi.
  • confronti popolari: Differenza tra Karate e MMA

    Differenza tra Karate e MMA

    Differenza fondamentale: un fattore di differenziazione tra Karate e MMA è che il Karate è una forma di arti marziali sviluppata in Giappone, mentre l'MMA è una combinazione di diverse arti marziali, incluso il Karate. Il karate è un termine derivato dalla fusione di due parole: "kara" e "te". Ka
  • confronti popolari: Differenza tra Yamaha FZ e Yamaha FZS

    Differenza tra Yamaha FZ e Yamaha FZS

    Differenza fondamentale: provenendo dalla stessa famiglia di motociclette, Yamaha FZ e Yamaha FZS si differenziano per prezzo, dimensioni, telaio, prestazioni, ecc. Yamaha FZ e Yamaha FZS sono due moto prodotte e commercializzate dall'India Yamaha Motor, una derivazione del gigante giapponese della moto, la Yamaha Motor Company
  • confronti popolari: Differenza tra Audit e Investigation

    Differenza tra Audit e Investigation

    Differenza fondamentale: l' audit è l'ispezione, l'esame o la verifica di una persona, organizzazione, sistema, processo, impresa, progetto o prodotto. D'altra parte, l'indagine è un'inchiesta, o l'atto di un esame dettagliato delle attività in modo da raggiungere determinati obiettivi. U
  • confronti popolari: Differenza tra Funnel Cloud e Tornado

    Differenza tra Funnel Cloud e Tornado

    Differenza chiave: una nuvola di imbuto è una nuvola a forma di cono composta da goccioline di acqua condensata che ruota con una colonna di vento e si estende da una base della nuvola. Tuttavia, queste nuvole di imbuto sono molto deboli e ruotano meno di 40 miglia all'ora. Un tornado è una violenta colonna d'aria rotante che è in contatto sia con il terreno che con una nuvola cumulonembo. N

Scelta Del Redattore

Differenza tra Gonna e Fianco

Differenza chiave: la bistecca a coste è un pezzo di carne bovina che viene tagliato dalla mucca da qualche parte vicino alla pancia. È un pezzo di carne lungo, piatto e tenero. La bistecca di fianco è una bistecca di manzo dai muscoli addominali della mucca ed è un taglio lungo e piatto. La carne bovina è un prodotto di carne popolare che fa parte della mucca. Ci