Differenza chiave – HashMap vs TreeMap
Nella programmazione, ci sono vari meccanismi per raccogliere i dati. Le raccolte sono un metodo per archiviare i dati. Linguaggi di programmazione come Java utilizzano le raccolte. È un framework con classi e interfacce per archiviare e manipolare un insieme di elementi di dati. In un array normale, c'è un numero fisso di elementi da memorizzare. Questa è una limitazione degli array. Invece, il programmatore può utilizzare le raccolte. È possibile eseguire operazioni come l'inserimento, l'eliminazione, l'ordinamento e la ricerca utilizzando le raccolte. In Java, l'interfaccia Map appartiene alle raccolte. La mappa viene utilizzata per rappresentare i dati nella chiave, coppie di valori. 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 Map utilizzata per archiviare coppie di chiavi e valori che non mantengono un ordine specifico negli elementi di dati. Una TreeMap è una classe di raccolta basata su Map utilizzata per archiviare 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.
Cos'è HashMap?
HashMap è una classe che implementa l'interfaccia della mappa. Estende la classe AbstractMap e implementa l'interfaccia Map. Una HashMap contiene le coppie chiave e valore. Ogni elemento è unico. È facile trovare gli elementi in HashMap usando la chiave. La dichiarazione di una HashMap è la seguente.
La classe pubblica HashMap estende AbstractMap implementa Map, Cloneable, Serializable
K si riferisce alla chiave mentre V si riferisce al valore corrispondente a quella specifica chiave. Ogni coppia chiave e valore è una voce della HashMap.
Figura 01: Interfaccia mappa
Assumiamo uno scenario come segue per comprendere la 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 deve 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. Osservando l'output, si può notare che HashMap non mantiene un ordine specifico. Non stampa gli elementi nell'ordine inserito. Gli elementi vengono stampati in ordine casuale.
Cos'è TreeMap?
The TreeMap è una classe in Java che implementa l'interfaccia Map. Simile a una HashMap, viene utilizzata 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
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 deve 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. Osservando l'output, si può notare 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 di chiavi e valori.
- 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?
HashMap vs TreeMap |
|
A 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 mantiene l'ordine crescente degli elementi di dati. |
Ordine | |
La HashMap non mantiene l'ordine. | La TreeMap mantiene l'ordine crescente. |
Null Key | |
La HashMap può contenere una chiave nulla. | La TreeMap non può avere una chiave nulla. |
Performance | |
HashMap è più veloce di TreeMap. | TreeMap è più lento di HashMap. |
Riepilogo – HashMap vs TreeMap
I linguaggi di programmazione come Java contengono il framework di raccolta. Negli array può esserci un numero fisso di elementi. Pertanto, la dimensione dell'array deve essere inizializzata all'inizio. Nelle raccolte, il programmatore può memorizzare molti elementi come richiesto. Non c'è 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 archiviare 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. 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.