Verschil tussen TreeSet en HashSet

Belangrijkste verschil - TreeSet vs HashSet
 

De meeste programmeertalen ondersteunen Arrays. Het is een gegevensstructuur die wordt gebruikt om meerdere elementen van hetzelfde gegevenstype op te slaan. Als array is gedeclareerd voor zes elementen, kan het niet worden gebruikt om tien elementen op te slaan. Daarom zijn arrays niet dynamisch en kunnen ze de grootte van de array niet wijzigen nadat deze is gedeclareerd. Programmeertalen zoals Java ondersteunen Collecties die worden gebruikt om gegevens dynamisch op te slaan. Ondersteuning van collecties, zoals het toevoegen van elementen en het verwijderen van elementen. Er is een aantal interfaces en klassen in de collectiehiërarchie. De basisinterface is de collectie-interface. Set is een interface die de collectie-interface uitbreidt. Er is geen duplicatie toegestaan. De TreeSet en HashSet zijn twee klassen in de verzamelinghiërarchie en beide implementeren de setinterface. TreeSet is een klasse die de Set-interface implementeert en het wordt gebruikt om unieke elementen op te slaan in oplopende volgorde. HashSet is een klasse die de Set-interface implementeert en het wordt gebruikt om unieke elementen op te slaan met behulp van het hash-mechanisme. De belangrijk verschil tussen TreeSet en HashSet is dat TreeSet slaat de elementen op in oplopende volgorde terwijl de HashSet de elementen niet oplopend opslaat. Zowel TreeSet en HashSet slaan alleen unieke elementen op.

INHOUD

1. Overzicht en belangrijkste verschil
2. Wat is een TreeSet
3. Wat is een HashSet
4. Overeenkomsten tussen TreeSet en HashSet
5. Vergelijking zij aan zij - TreeSet vs HashSet in tabelvorm
6. Samenvatting

Wat is een TreeSet?

TreeSet-klasse implementeert de NavigableSet-interface. De NavigableSet-interface breidt de SortedSet-, Set-, Collection- en Iterable-interfaces in hiërarchische volgorde uit. TreeSet onderhoudt altijd de oplopende volgorde. Als de elementen zijn ingevoegd in de B-, A- en C-volgorde, worden ze opgeslagen als A, B, C. De methoden zoals add (), remove () kunnen worden gebruikt met het TreeSet-object. De toevoegmethode kan worden gebruikt om een ​​element toe te voegen. De verwijderingsmethode wordt gebruikt om een ​​element uit de verzameling te verwijderen. Dat zijn enkele methoden die met TreeSet kunnen worden gebruikt.

Figuur 01: Programmeer met TreeSet

Volgens het bovenstaande programma wordt een object van het type TreeSet gemaakt. De tekenreeksgegevenselementen worden aan het object toegevoegd met behulp van de invoegmethode. De ingevoegde gegevens van de gegevens zijn A, D, A, B, C, D. Met behulp van de iterator worden de opgeslagen waarden afgedrukt op het scherm. De uitvoer is A, B, C, D. Ook al zijn er twee A-letters en twee D-letters, de uitvoer geeft de ene A en een D elk weer. Daarom worden in de TreeSet unieke elementen opgeslagen. Er is geen specifieke invoegvolgorde maar bij het observeren van de uitvoer kan worden gezien dat de TreeSet de oplopende volgorde van de elementen handhaaft.

Wat is een HashSet?

De klasse HashSet breidt de klasse AbstractSet uit die Set Interface implementeert. De Set-interface erft collectie en wijzigbare interfaces in hiërarchische volgorde. In HashSet is er geen garantie dat de elementen de oplopende volgorde en de ingevoegde volgorde behouden. Als de ingevoegde volgorde A, B, C was, kunnen de waarden worden opgeslagen als C, A, B. Het opslaan van de volgorde kan ook A, B, C zijn maar er is geen garantie dat de ingevoegde of oplopende volgorde wordt behouden.

Figuur 02: Program met HashSet

Volgens het bovenstaande programma wordt een object van het type HashSet gemaakt. De tekenreeksgegevenselementen worden aan het object toegevoegd met behulp van de invoegmethode. De gegevens ingevoegde volgorde is L, R, M, M, R, L. Met behulp van de iterator worden de opgeslagen waarden afgedrukt op het scherm. De uitvoer is R L M. Ook al zijn er twee L-, R- en M-letters van elk, slechts één letter van elk wordt weergegeven. Daarom slaat de HashSet unieke elementen op. Bij het observeren van de uitvoer kan worden gezien dat er geen oplopende volgorde is of dat de ingevoegde volgorde wordt gehandhaafd.

Wat zijn de overeenkomsten tussen TreeSet en HashSet?

  • Zowel TreeSet als HashSet zijn klassen die behoren tot de collectiehiërarchie.
  • Zowel TreeSet als HashSet slaat alleen unieke elementen op.
  • Zowel TreeSet als HashSet kunnen worden gebruikt om veel elementen op te slaan en te manipuleren.
  • Zowel TreeSet als HashSet handhaven de ingevoegde volgorde niet.

Wat is het verschil tussen TreeSet en HashSet?

TreeSet vs HashSet

TreeSet is een klasse in de verzamelinghiërarchie die wordt gebruikt om unieke elementen in oplopende volgorde op te slaan. HashSet is een klasse in de verzamelinghiërarchie die wordt gebruikt om unieke elementen op te slaan met behulp van het hashmechanisme.
 Element opslaan
TreeSet slaat de elementen op in oplopende volgorde. HashSet slaat de elementen niet op in oplopende volgorde.

Samenvatting - TreeSet vs HashSet

Bij het programmeren is het nodig om gegevenselementen dynamisch op te slaan. Programmeertalen zoals Java ondersteunen Collecties om deze taak te voltooien. Er is een aantal interfaces en klassen in de collectiehiërarchie. De TreeSet en HashSet zijn twee klassen in de collectiehiërarchie. Beide implementeren de Set-interface. TreeSet is een klasse die de Set-interface implementeert en het wordt gebruikt om unieke elementen op te slaan in oplopende volgorde. HashSet is een klasse die de Set-interface implementeert en het wordt gebruikt om unieke elementen op te slaan met behulp van het hash-mechanisme. Het verschil tussen TreeSet en HashSet is dat TreeSet de elementen oplopend opslaat terwijl de HashSet de elementen niet oplopend opslaat. In dit artikel is het verschil tussen TreeSet en HashSet besproken.

Referentie:

1. "TreeSet in Java - javatpoint." JavaPoint. Beschikbaar Hier
2. "HashSet in Java - javatpoint." JavaPoint  Beschikbaar Hier