Differenza chiave - HashMap vs TreeMap
Nella programmazione, ci sono vari meccanismi per raccogliere dati. Le raccolte sono un metodo per memorizzare i dati. I linguaggi di programmazione come Java utilizzano le raccolte. È un framework con classi e interfacce per la memorizzazione e la manipolazione di un insieme di elementi di dati. In un normale array, c'è un numero fisso di elementi da memorizzare. Questa è una limitazione degli array. Invece, il programmatore può utilizzare le raccolte. Le operazioni come l'inserimento, l'eliminazione, l'ordinamento e la ricerca possono essere eseguite utilizzando le raccolte. In Java, l'interfaccia Map appartiene alle raccolte. La mappa viene utilizzata per rappresentare i dati nelle coppie chiave e valore. Esistono solo chiavi univoche e ciascuna ha un valore corrispondente. HashMap e TreeMap sono classi che implementano l'interfaccia Map. Una HashMap è una classe di raccolta basata su mappe che viene utilizzata per memorizzare coppie di chiavi e valori che non mantengono un ordine specifico negli elementi di dati. Una TreeMap è una classe di raccolta basata su mappa utilizzata per memorizzare coppie di chiavi e valori che mantengono l'ordine crescente degli elementi di dati. La differenza fondamentale tra HashMap e TreeMap è che HashMap non mantiene un ordine specifico negli elementi di dati mentre TreeMap mantiene l'ordine crescente degli elementi di dati.
CONTENUTI
1. Panoramica e differenze chiave
2. Cos'è HashMap
3. Cos'è TreeMap
4. Somiglianze tra HashMap e TreeMap
5. Confronto affiancato - HashMap e TreeMap in formato tabulare
6. Riepilogo
Cos'è HashMap?
HashMap è una classe che implementa l'interfaccia della mappa. Estende la classe AbstractMap e implementa l'interfaccia Map. Una HashMap contiene la chiave, le coppie di valori. Ogni elemento è unico. È facile trovare gli elementi in HashMap usando la chiave. La dichiarazione di una HashMap è la seguente.
public class HashMap estende AbstractMap implementa Map, Cloneable, Serializable
La K si riferisce alla chiave mentre V si riferisce al valore corrispondente a quella specifica chiave. Ogni coppia chiave e valore è una voce di HashMap.
Figura 01: interfaccia della mappa
Supponi uno scenario come segue per comprendere HaspMap. Se lì il programmatore desidera memorizzare una serie di nomi di studenti e numeri di indice corrispondenti, può utilizzare HashMap. I nomi degli studenti vengono utilizzati per trovare i numeri di indice. Pertanto, i nomi degli studenti sono le chiavi mentre i numeri di indice sono i valori.
Figura 02: programma HashMap che utilizza Java
Secondo il programma sopra, viene creato un oggetto di HashMap. Quindi il programmatore può aggiungere elementi utilizzando quell'oggetto. I valori possono essere inseriti utilizzando il metodo put. Per recuperare i valori, il programmatore dovrebbe utilizzare il metodo get con la chiave. Quando si utilizza studentList.get ("150"); stamperà il nome corrispondente a quell'indice che è Ann. Se il programmatore desidera ottenere tutti i valori, può utilizzare Map. Entry per stampare tutte le chiavi e i valori. Quando si osserva l'output, si può vedere che HashMap non mantiene un ordine specifico. Non stampa gli elementi nell'ordine inserito. Gli elementi vengono stampati in ordine casuale.
Cos'è TreeMap?
TreeMap è una classe in Java che implementa l'interfaccia Map. Simile a un HashMap, utilizzato anche per memorizzare coppie di chiavi e valori ma in ordine crescente. TreeMap implementa NavigableMap e NavigableMap estende SortedMap e SortedMap estende Map. Ogni elemento è unico. La dichiarazione di una TreeMap è la seguente.
la classe pubblica TreeMap estende AbstractMap implementa NavigableMap, Cloneable, Serializable
La K si riferisce alla chiave mentre V si riferisce al valore corrispondente a quella specifica chiave. Ogni coppia chiave e valore è una voce della TreeMap.
Figura 03: programma TreeMap che utilizza Java
Secondo il programma sopra, viene creato un oggetto di TreeMap. Quindi il programmatore può aggiungere elementi utilizzando quell'oggetto. I valori possono essere inseriti utilizzando il metodo put. Per recuperare i valori, il programmatore dovrebbe utilizzare il metodo get con la chiave. Quando si utilizza studentList.get ("150"); stamperà il nome corrispondente a quell'indice che è Ann. Se il programmatore desidera ottenere tutti i valori, può utilizzare Map. Entry per stampare tutte le chiavi e i valori. Quando si osserva l'output, si può vedere che TreeMap mantiene un ordine specifico. Gli elementi vengono stampati in ordine crescente.
Quali sono le somiglianze tra HashMap e TreeMap?
- Sia HashMap che TreeMap implementano l'interfaccia Map.
- Sia HashMap che TreeMap possono memorizzare e manipolare molti elementi.
- Sia HashMap che TreeMap contengono coppie chiave e valore.
- Sia HashMap che TreeMap possono avere molti valori nulli.
- Non ci sono limiti al numero di elementi che possono essere memorizzati sia in HashMap che in TreeMap.
Qual è la differenza tra HashMap e TreeMap?
Articolo diff. Al centro prima della tabella
HashMap vs TreeMap |
|
Una HashMap è una classe di raccolta basata su mappe che viene utilizzata per memorizzare coppie di chiavi e valori che non mantengono un ordine specifico negli elementi di dati. | Una TreeMap è una classe di raccolta basata su mappe che viene utilizzata per memorizzare coppie di chiavi e valori che mantiene l'ordine crescente degli elementi di dati. |
Ordine | |
HashMap non mantiene l'ordine. | TreeMap mantiene l'ordine crescente. |
Chiave nulla | |
L'HashMap può contenere una chiave nulla. | TreeMap non può avere una chiave nulla. |
Prestazione | |
HashMap è più veloce di TreeMap. | TreeMap è più lento di HashMap. |
Riepilogo: HashMap vs TreeMap
Linguaggi di programmazione come Java contengono il framework di raccolta. Negli array può esserci un numero fisso di elementi. Pertanto, la dimensione dell'array dovrebbe essere inizializzata all'inizio. Nelle collezioni, il programmatore può memorizzare molti elementi come richiesto. Non esiste un importo specifico da memorizzare. La mappa è un'interfaccia che appartiene al framework di raccolta. Una HashMap è una classe di raccolta basata su mappe che viene utilizzata per memorizzare coppie di chiavi e valori che non mantengono un ordine specifico negli elementi di dati. Una TreeMap è una classe di raccolta basata su mappa che viene utilizzata per archiviare coppie di chiavi e valori che mantiene l'ordine crescente degli elementi di dati. Questo articolo ha discusso la differenza tra HashMap e TreeMap che implementa l'interfaccia Map. La differenza tra HashMap e TreeMap è che HashMap non mantiene un ordine specifico negli elementi di dati mentre TreeMap mantiene l'ordine crescente degli elementi di dati.