Skillnaden Mellan TreeSet Och HashSet

Innehållsförteckning:

Skillnaden Mellan TreeSet Och HashSet
Skillnaden Mellan TreeSet Och HashSet

Video: Skillnaden Mellan TreeSet Och HashSet

Video: Skillnaden Mellan TreeSet Och HashSet
Video: HashSet и TreeSet - Collections #1 - Advanced Java 2024, December
Anonim

Nyckelskillnad - 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 finns en array-deklarering för sex element kan den inte användas för att lagra tio element. Därför är matriser inte dynamiska och kan inte ändra storleken på matrisen när den deklareras. Programmeringsspråk som Java stöder samlingar som används för att lagra data dynamiskt. Samlingar stöder åtgärder som att lägga till element och ta bort element. Det finns ett antal gränssnitt och klasser i samlingshierarkin. Basgränssnittet är gränssnittet Collection. Set är ett gränssnitt som utökar Collection-gränssnittet. Det tillåter inte duplicering. TreeSet och HashSet är två klasser i samlingshierarkin och båda implementerar Set-grä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. Huvudskillnaden mellan TreeSet och HashSet är att TreeSet lagrar elementen i stigande ordning medan HashSet inte lagrar elementen i stigande ordning. Både TreeSet och HashSet lagrar bara unika element.

INNEHÅLL

1. Översikt och nyckeldifferens

2. Vad är en TreeSet

3. Vad är en HashSet

4. Likheter mellan TreeSet och HashSet

5. Jämförelse sida vid sida - TreeSet vs HashSet i tabellform

6. Sammanfattning

Vad är en TreeSet?

TreeSet-klassen implementerar NavigableSet-gränssnittet. NavigableSet-gränssnittet utökar gränssnitten SortedSet, Set, Collection och Iterable i hierarkisk ordning. TreeSet behåller alltid den stigande ordningen. Om elementen infogades i ordningen B, A, C kommer de att lagras 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. Metoden ta bort används för att ta bort ett element från samlingen. Det är några metoder som kan användas med TreeSet.

Skillnaden mellan TreeSet och HashSet
Skillnaden mellan TreeSet och HashSet

Figur 01: Program med TreeSet

Enligt ovanstående program skapas ett objekt av typen TreeSet. Strängdataelementen läggs till i det objektet med hjälp av add-metoden. Den infogade ordningen är A, D, A, B, C, D. Med hjälp av iteratorn skrivs de lagrade värdena ut på 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 införingsordning men när man observerar utdata kan man se att TreeSet bibehåller den stigande ordningen på elementen.

Vad är en HashSet?

HashSet-klassen utökar AbstractSet-klassen som implementerar Set Interface. Set-gränssnittet ärver samlings- och Iterable-gränssnitt i hierarkisk ordning. I HashSet finns det ingen garanti för att elementen behåller den stigande ordningen och den infogade ordningen. Om den infogade ordningen var A, B, C kan värdena lagras som C, A, B. Lagringsordning kan också vara A, B, C men det finns ingen garanti för att den infogade ordningen eller stigande ordningen bibehålls.

Nyckelskillnad mellan TreeSet och HashSet
Nyckelskillnad mellan TreeSet och HashSet

Figur 02: Program med HashSet

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

Vad är likheterna mellan TreeSet och HashSet?

  • Både TreeSet och HashSet är klasser som tillhör 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 infogade ordningen.

Vad är skillnaden mellan TreeSet och HashSet?

Skilja artikeln mitt före bordet

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.
Elementlagring
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 Set-grä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. Den här artikeln diskuterade skillnaden mellan TreeSet och HashSet.

Rekommenderas: