Skillnad mellan TreeSet och HashSet

Huvudskillnad - TreeSet vs HashSet
 

De flesta programmeringsspråk stöder Arrays. Det är en datastruktur som används för att lagra flera element av samma datatyp. Om det anges en array för sex element, kan den inte användas för att lagra tio element. Därför är arrayer inte dynamiska och kan inte ändra storleken på arrayen när den är deklarerad. Programmeringsspråk som Java stöder samlingar som används för att lagra data dynamiskt. Samlingar stöder operationer som att lägga till element och radera element. Det finns ett antal gränssnitt och klasser i samlingshierarkin. Basgränssnittet är samlingsgränssnittet. Set är ett gränssnitt som utökar samlingsgränssnittet. Det tillåter inte dubbelarbete. TreeSet och HashSet är två klasser i samlingshierarkin och båda implementerar inställningsgränssnittet. TreeSet är en klass som implementerar Set-gränssnittet och används för att lagra unika element i stigande ordning. HashSet är en klass som implementerar Set-gränssnittet och används för att lagra unika element med Hashing-mekanismen. De nyckelskillnad mellan TreeSet och HashSet är det TreeSet lagrar elementen i stigande ordning medan HashSet inte lagrar elementen i stigande ordning. Både TreeSet och HashSet lagrar endast unika element.

INNEHÅLL

1. Översikt och nyckelskillnad
2. Vad är en TreeSet
3. Vad är en HashSet
4. Likheter mellan TreeSet och HashSet
5. Side vid sida-jämförelse - TreeSet vs HashSet i tabellform
6. Sammanfattning

Vad är en TreeSet?

TreeSet-klassen implementerar NavigableSet-gränssnittet. NavigableSet-gränssnittet utökar SorteredSet, Set, Collection och Iterable gränssnitt i hierarkisk ordning. TreeSet upprätthåller alltid den stigande ordern. Om elementen infördes i B, A, C-ordning, lagras de som A, B, C. Metoderna som add (), remove () kan användas med TreeSet-objekt. Lägg till metoden kan användas för att lägga till ett element. Ta bort metoden används för att ta bort ett element från samlingen. Det är några metoder som kan användas med TreeSet.

Figur 01: Program med TreeSet

Enligt ovanstående program skapas ett objekt av typen TreeSet. Strängdataelementen läggs till i det objektet med tilläggsmetoden. Den datainställda ordningen är A, D, A, B, C, D. Med hjälp av iteratorn skrivs de lagrade värdena till skärmen. Utgången är A, B, C, D. Även om det finns två A-bokstäver och två D-bokstäver, visar utgången en A och en D vardera. Därför lagrar TreeSet unika element. Det finns ingen särskild infogningsorder, men när man observerar utsignalen kan det ses att TreeSet upprätthåller uppstigningen av elementen.

Vad är en HashSet?

HashSet-klassen utökar AbstractSet-klassen som implementerar Set Interface. Set-gränssnittet förvärvar samlings- och Iterable-gränssnitt i hierarkisk ordning. I HashSet finns ingen garanti för att elementen kommer att behålla den stigande ordningen och den inmatade ordern. Om den inmatade beställningen var A, B, C kan värdena lagras som C, A, B. Lagringsorder kan också vara A, B, C men det finns ingen garanti för att den inmatade ordern eller uppåtgående order upprätthålls.

Figur 02: Program med HashSet

Enligt ovanstående program skapas ett objekt av typen HashSet. Strängdataelementen läggs till i det objektet med tilläggsmetoden. Den datainställda ordningen är L, R, M, M, R, L. Med hjälp av iteratorn skrivs de lagrade värdena till skärmen. Utgången är R L M. Även om det finns två L, R och M bokstäver från varje, visas endast en bokstav från var och en. Därför lagrar HashSet unika element. När man observerar utsignalen kan man se att det inte finns någon stigande ordning eller den infogade ordningen bibehålls.

Vad är likheterna mellan TreeSet och HashSet?

  • Både TreeSet och HashSet är klasser som hör till samlingshierarkin.
  • Både TreeSet och HashSet lagrar bara unika element.
  • Både TreeSet och HashSet kan användas för att lagra och manipulera många element.
  • Både TreeSet och HashSet behåller inte den angivna ordern.

Vad är skillnaden mellan TreeSet och HashSet?

TreeSet vs HashSet

TreeSet är en klass i samlingshierarkin som används för att lagra unika element i stigande ordning. HashSet är en klass i samlingshierarkin som används för att lagra unika element med Hashing-mekanismen.
 Element Lagring
TreeSet lagrar elementen i stigande ordning. HashSet lagrar inte elementen i stigande ordning.

Sammanfattning - TreeSet vs HashSet

Vid programmering är det nödvändigt att lagra dataelement dynamiskt. Programmeringsspråk som Java stöder samlingar för att uppnå denna uppgift. Det finns ett antal gränssnitt och klasser i samlingshierarkin. TreeSet och HashSet är två klasser i samlingshierarkin. Båda implementerar inställningsgränssnittet. TreeSet är en klass som implementerar Set-gränssnittet och används för att lagra unika element i stigande ordning. HashSet är en klass som implementerar Set-gränssnittet och används för att lagra unika element med Hashing-mekanismen. Skillnaden mellan TreeSet och HashSet är att TreeSet lagrar elementen i stigande ordning medan HashSet inte lagrar elementen i stigande ordning. I denna artikel diskuterades skillnaden mellan TreeSet och HashSet.

Referens:

1. "TreeSet i Java - javatpoint." JavaPoint. Tillgänglig här
2. "HashSet i Java - javatpoint." JavaPoint  Tillgänglig här