La differenza in HashMap e HashSet

February 6

Il linguaggio di programmazione Java ha due tipi di contenitori di dati ancora simili distinte, HashMap e HashSet. Entrambi utilizzano una tabella hash per memorizzare i dati. Una tabella hash è una tabella di valori che utilizza una funzione di hash per determinare dove cercare e memorizzare i dati. Questo permette di accedere rapidamente ai dati perché un valore non deve essere cercato. Invece, la funzione hash può fornire la posizione esatta del valore. Nonostante entrambe le tabelle hash utilizzando, HashMap e HashSet sono molto diversi gli uni dagli altri.

Mappe

Mappe memorizzare i dati in relazioni chiave-valore. Una chiave è detto di essere mappato a un valore. Un dizionario è un buon esempio di un contenitore di carta di dati. La chiave è la parola che si sta cercando e il valore è la definizione. Tutti i dati in una mappa devono essere memorizzati utilizzando una chiave univoca, ma ci possono essere molteplici, valori identici.

Imposta

Un set è una raccolta di dati senza elementi duplicati. Ad esempio, la sequenza di cifre da 0 a 9 è un insieme, ma la sequenza 0, 1, 1, 2, 3 non è poiché la cifra 1 viene ripetuto. Un insieme non dispone di un rapporto di valori-chiave come una mappa. E 'semplicemente un insieme di valori non duplicati.

Prestazione

Il HashMap fornisce prestazioni costante di tempo per i metodi "get" e "put", che vengono utilizzati per popolare la struttura dei dati. prestazione costante di tempo significa che non importa quanto grande la struttura dati diventa, queste operazioni avranno sempre la stessa quantità di tempo per eseguire. Il HashSet fornisce prestazioni costante di tempo per i metodi "dimensione" "Aggiungi", "rimuovere", "contiene", e.

Caratteristiche opzionali

Il HashMap fornisce tutte le operazioni della classe Java Mappa e la HashSet fornisce tutte le operazioni della classe Java Set. Questo perché sia ​​HashMap e HashSet sono implementazioni delle classi Java Mappa e Set, rispettivamente.