Differenza Tra TreeSet E HashSet

Sommario:

Differenza Tra TreeSet E HashSet
Differenza Tra TreeSet E HashSet

Video: Differenza Tra TreeSet E HashSet

Video: Differenza Tra TreeSet E HashSet
Video: La tua ileostomia | Hollister 2024, Novembre
Anonim

Differenza chiave - TreeSet vs HashSet

La maggior parte dei linguaggi di programmazione supporta gli array. È una struttura dati che viene utilizzata per memorizzare più elementi dello stesso tipo di dati. Se è presente un array dichiarato per sei elementi, non può essere utilizzato per memorizzare dieci elementi. Pertanto, gli array non sono dinamici e non possono modificare la dimensione dell'array una volta dichiarato. I linguaggi di programmazione come Java supportano le raccolte che vengono utilizzate per memorizzare i dati in modo dinamico. Le raccolte supportano operazioni come l'aggiunta di elementi e l'eliminazione di elementi. Esiste una serie di interfacce e classi nella gerarchia della raccolta. L'interfaccia di base è l'interfaccia Collection. Set è un'interfaccia che estende l'interfaccia Collection. Non consente la duplicazione. TreeSet e HashSet sono due classi nella gerarchia Collection ed entrambi implementano l'interfaccia Set. TreeSet è una classe che implementa l'interfaccia Set e viene utilizzata per memorizzare elementi univoci in ordine crescente. HashSet è una classe che implementa l'interfaccia Set e viene utilizzata per memorizzare elementi univoci utilizzando il meccanismo di hash. La differenza fondamentale tra TreeSet e HashSet è che TreeSet memorizza gli elementi in ordine crescente mentre HashSet non memorizza gli elementi in ordine crescente. Sia TreeSet che HashSet memorizzano solo elementi univoci.

CONTENUTI

1. Panoramica e differenza chiave

2. Che cos'è un TreeSet

3. Che cos'è un HashSet

4. Somiglianze tra TreeSet e HashSet

5. Confronto affiancato - TreeSet e HashSet in forma tabulare

6. Riepilogo

Cos'è un TreeSet?

La classe TreeSet implementa l'interfaccia NavigableSet. L'interfaccia NavigableSet estende le interfacce SortedSet, Set, Collection e Iterable in ordine gerarchico. TreeSet mantiene sempre l'ordine crescente. Se gli elementi sono stati inseriti nell'ordine B, A, C, verranno memorizzati come A, B, C. I metodi come add (), remove () possono essere utilizzati con l'oggetto TreeSet. Il metodo add può essere utilizzato per aggiungere un elemento. Il metodo remove viene utilizzato per rimuovere un elemento dalla raccolta. Questi sono alcuni metodi che possono essere utilizzati con TreeSet.

Differenza tra TreeSet e HashSet
Differenza tra TreeSet e HashSet

Figura 01: programma con TreeSet

Secondo il programma sopra, viene creato un oggetto di tipo TreeSet. Gli elementi di dati della stringa vengono aggiunti a quell'oggetto utilizzando il metodo add. L'ordine di inserimento dei dati è A, D, A, B, C, D. Utilizzando l'iteratore, i valori memorizzati vengono stampati sullo schermo. L'output è A, B, C, D. Anche se ci sono due lettere A e due lettere D, l'output mostra una A e una D ciascuna. Pertanto, il TreeSet memorizza elementi univoci. Non esiste un ordine di inserzione particolare, ma osservando l'output, si può vedere che il TreeSet mantiene l'ordine crescente degli elementi.

Cos'è un HashSet?

La classe HashSet estende la classe AbstractSet che implementa Set Interface. L'interfaccia Set eredita le interfacce Collection e Iterable in ordine gerarchico. In HashSet, non vi è alcuna garanzia che gli elementi manterranno l'ordine crescente e l'ordine inserito. Se l'ordine inserito era A, B, C, i valori potrebbero essere memorizzati come C, A, B. L'ordine di memorizzazione può anche essere A, B, C ma non vi è alcuna garanzia che l'ordine inserito o l'ordine crescente venga mantenuto.

Differenza chiave tra TreeSet e HashSet
Differenza chiave tra TreeSet e HashSet

Figura 02: programma con HashSet

Secondo il programma precedente, viene creato un oggetto di tipo HashSet. Gli elementi di dati della stringa vengono aggiunti a quell'oggetto utilizzando il metodo add. L'ordine dei dati inseriti è L, R, M, M, R, L. Usando l'iteratore, i valori memorizzati vengono stampati sullo schermo. L'output è RL M. Anche se ci sono due lettere L, R e M per ciascuna, viene visualizzata solo una lettera per ciascuna. Pertanto, HashSet memorizza elementi unici. Osservando l'output, si può vedere che non esiste un ordine crescente o che l'ordine inserito viene mantenuto.

Quali sono le somiglianze tra TreeSet e HashSet?

  • Sia TreeSet che HashSet sono classi che appartengono alla gerarchia della raccolta.
  • Sia TreeSet che HashSet memorizzano solo elementi univoci.
  • Sia TreeSet che HashSet possono essere utilizzati per memorizzare e manipolare molti elementi.
  • Sia TreeSet che HashSet non mantengono l'ordine inserito.

Qual è la differenza tra TreeSet e HashSet?

Articolo diff. Al centro prima della tabella

TreeSet vs HashSet

TreeSet è una classe nella gerarchia della raccolta utilizzata per memorizzare elementi univoci in ordine crescente. HashSet è una classe nella gerarchia di raccolta che viene utilizzata per memorizzare elementi univoci utilizzando il meccanismo di hash.
Memorizzazione degli elementi
TreeSet memorizza gli elementi in ordine crescente. HashSet non memorizza gli elementi in ordine crescente.

Riepilogo: TreeSet vs HashSet

Nella programmazione, è necessario memorizzare dinamicamente gli elementi di dati. I linguaggi di programmazione come Java supportano le raccolte per eseguire questa operazione. Esiste una serie di interfacce e classi nella gerarchia della raccolta. TreeSet e HashSet sono due classi nella gerarchia Collection. Entrambi implementano l'interfaccia Set. TreeSet è una classe che implementa l'interfaccia Set e viene utilizzata per memorizzare elementi univoci in ordine crescente. HashSet è una classe che implementa l'interfaccia Set e viene utilizzata per memorizzare elementi univoci utilizzando il meccanismo di hash. La differenza tra TreeSet e HashSet è che TreeSet memorizza gli elementi in ordine crescente mentre HashSet non memorizza gli elementi in ordine crescente. Questo articolo ha discusso la differenza tra TreeSet e HashSet.

Raccomandato: