Differenza tra HashMap e TreeMap

Differenza chiave - HashMap vs TreeMap
 

Nella programmazione, ci sono vari meccanismi per raccogliere i dati. Le raccolte sono un metodo per archiviare i dati. I linguaggi di programmazione come Java utilizzano le raccolte. È un framework con classi e interfacce per l'archiviazione e la manipolazione di un set 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. Operazioni come l'inserimento, l'eliminazione, l'ordinamento e la ricerca possono essere eseguite utilizzando le raccolte. In Java, l'interfaccia Mappa appartiene alle raccolte. La mappa viene utilizzata per rappresentare i dati nella coppia chiave, valore. Esistono solo chiavi univoche e ognuna ha un valore corrispondente. HashMap e TreeMap sono classi che implementano l'interfaccia Mappa. Una HashMap è una classe di raccolta basata su mappa 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 mappa che viene utilizzata per archiviare coppie di chiavi e valori che mantengono l'ordine crescente di elementi di dati. Il differenza fondamentale tra HashMap e TreeMap è quello HashMap non mantiene un ordine specifico negli elementi di dati mentre TreeMap mantiene l'ordine crescente degli elementi di dati.

CONTENUTO

1. Panoramica e differenza chiave
2. Cos'è HashMap
3. Cos'è TreeMap
4. Somiglianze tra HashMap e TreeMap
5. Confronto affiancato - HashMap vs TreeMap in forma tabulare
6. Sommario

Cos'è HashMap?

HashMap è una classe che implementa l'interfaccia della mappa. Estende la classe AbstractMap e implementa l'interfaccia della mappa. Una HashMap contiene la chiave, 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

Il K fa riferimento al tasto mentre V fa riferimento al valore corrispondente a quel tasto specifico. Ogni chiave, coppia di valori è una voce di HashMap.

Figura 01: interfaccia della mappa

Assumi uno scenario come segue per capire HaspMap. Se il programmatore vuole memorizzare una serie di nomi di studenti e numeri di indice corrispondenti, può usare HashMap. I nomi degli studenti sono usati per trovare i numeri 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 di cui sopra, viene creato un oggetto di HashMap. Quindi il programmatore può aggiungere elementi usando quell'oggetto. I valori possono essere inseriti usando il metodo put. Per recuperare i valori, il programmatore dovrebbe usare il metodo get con la chiave. Quando si utilizza studentList.get ("150"); stamperà il nome corrispondente a quell'indice che è Ann. Se il programmatore vuole ottenere tutti i valori, quindi può utilizzare Map.Entry per stampare tutte le chiavi e i valori. Osservando l'output, si può vedere che HashMap non mantiene un ordine specifico. Non stampa gli elementi nell'ordine inserito. Gli elementi sono stampati in ordine casuale.

Cos'è TreeMap?

TreeMap è una classe in Java che implementa l'interfaccia Mappa. Simile a una HashMap, è anche usato per memorizzare coppie chiave, valore ma in ordine crescente. TreeMap implementa la NavigableMap e NavigableMap estende SortedMap e SortedMap estende Map. Ogni elemento è unico. La dichiarazione di una TreeMap è la seguente.

public class TreeMap estende AbstractMap implementa NavigableMap, Cloneable, Serializable

Il K fa riferimento al tasto mentre V fa riferimento al valore corrispondente a quel tasto specifico. Ogni coppia chiave, valore è una voce della TreeMap.

Figura 03: Programma TreeMap utilizzando Java

Secondo il programma di cui sopra, viene creato un oggetto di TreeMap. Quindi il programmatore può aggiungere elementi usando quell'oggetto. I valori possono essere inseriti usando il metodo put. Per recuperare i valori, il programmatore dovrebbe usare il metodo get con la chiave. Quando si utilizza studentList.get ("150"); stamperà il nome corrispondente a quell'indice che è Ann. Se il programmatore vuole ottenere tutti i valori, quindi può utilizzare Map.Entry per stampare tutte le chiavi e i valori. Osservando l'output, si può vedere che TreeMap mantiene un ordine specifico. Gli elementi sono stampati in ordine crescente.

Quali sono le somiglianze tra HashMap e TreeMap?

  • Sia HashMap che TreeMap implementano l'interfaccia Mappa.
  • Sia HashMap che TreeMap possono memorizzare e manipolare molti elementi.
  • Sia HashMap che TreeMap contengono coppie chiave, valore.
  • Sia HashMap che TreeMap possono avere molti valori nulli.
  • Non c'è limite al numero di elementi che possono essere memorizzati sia in HashMap che in TreeMap.

Qual è la differenza tra HashMap e TreeMap?

HashMap vs TreeMap

Una HashMap è una classe di raccolta basata su mappa 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 mappa che viene utilizzata per memorizzare coppie di chiavi e valori che mantengono l'ordine crescente di elementi di dati.
 Ordine
HashMap non mantiene l'ordine. La TreeMap mantiene l'ordine crescente.
Chiave Nulla
HashMap può contenere una chiave nulla. La TreeMap non può avere una chiave nulla.
 Prestazione
HashMap è più veloce di TreeMap. TreeMap è più lento di HashMap.

Sommario - 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 esiste una quantità specifica da memorizzare. La mappa è un'interfaccia appartiene al quadro di raccolta. Una HashMap è una classe di raccolta basata su mappa 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 sulla mappa che viene utilizzata per memorizzare coppie di chiavi e valori che mantengono l'ordine crescente di elementi di dati. Questo articolo ha discusso la differenza tra HashMap e TreeMap che implementa l'interfaccia della mappa. 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.

Riferimento:

1. "HashMap in Java - javatpoint". Il punto, Disponibile qui
2. "TreeMap in Java - javatpoint."  Il punto, Disponibile qui

Cortesia dell'immagine:

1.'Java.util.Mappa gerarchia 'Con Ramlmn - Opera propria, (CC BY-SA 4.0) attraverso Commons Wikimedia