Nwlapcug.com


La differenza di HashMap e HashSet

Linguaggio di programmazione Java ha due distinte ma simili dati tipi di contenitore, la 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. Ciò consente l'accesso ai dati rapido perché un valore non deve essere cercato. La funzione hash è invece in grado di fornire la posizione esatta del valore. Nonostante entrambi utilizzando tabelle hash, HashMap ed HashSet sono molto diversi gli uni dagli altri.

Mappe

Mappe: archiviare dati in relazioni chiave-valore. Una chiave è detto di essere mappato a un valore. Un dizionario è un buon esempio di un contenitore di dati della mappa. La chiave è la parola che vengono ricercati e il valore è la definizione. Tutti i dati in una mappa devono essere archiviati utilizzando una chiave univoca, ma ci possono essere più, valori identici.

Set

Un set è una raccolta di dati senza elementi duplicati. Ad esempio, la sequenza di cifre da 0 a 9 è un set, ma la sequenza 0, 1, 1, 2, 3 non è poiché la cifra 1 è ripetuta. Un set non dispongono di una relazione di chiave/valore come una mappa. È semplicemente un insieme di valori non duplicati.

Prestazioni

La HashMap fornisce prestazioni di tempo costante per "get" e "mettere" metodi, che vengono utilizzati per popolare la struttura di dati. Significa tempo costante di prestazioni che non importa quanto sia grande la struttura di dati diventa, è possibile che queste operazioni avrà sempre la stessa quantità di tempo per eseguire. HashSet fornisce prestazioni di tempo costante per il "aggiunge," "rimuovere", "contiene" e "dimensione" metodi.

Caratteristiche opzionali

La HashMap fornisce tutte le operazioni della classe Java Mappa e HashSet fornisce tutte le operazioni della classe Java impostato. Questo è perché sia HashMap e HashSet sono implementazioni di Java Mappa e Set classi, rispettivamente.