Belangrijkste verschil - TreeSet versus HashSet
De meeste programmeertalen ondersteunen arrays. Het is een datastructuur die wordt gebruikt om meerdere elementen van hetzelfde datatype op te slaan. Als er een array is gedeclareerd voor zes elementen, kan deze 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. Collecties ondersteunen bewerkingen 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. Het staat geen duplicatie toe. De TreeSet en HashSet zijn twee klassen in de Collectiehiërarchie en beide implementeren de Set-interface. TreeSet is een klasse die de Set-interface implementeert en wordt gebruikt om unieke elementen in oplopende volgorde op te slaan. HashSet is een klasse die de Set-interface implementeert en die wordt gebruikt om unieke elementen op te slaan met behulp van het Hashing-mechanisme. Het belangrijkste verschil tussen TreeSet en HashSet is dat TreeSet de elementen in oplopende volgorde opslaat, terwijl de HashSet de elementen niet in oplopende volgorde opslaat. Zowel TreeSet als 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 versus 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 handhaaft altijd de oplopende volgorde. Als de elementen zijn ingevoegd in de volgorde B, A, C, worden ze opgeslagen als A, B, C. De methoden zoals add (), remove () kunnen worden gebruikt met het TreeSet-object. De add-methode kan worden gebruikt om een element toe te voegen. De verwijdermethode wordt gebruikt om een element uit de collectie te verwijderen. Dat zijn enkele methoden die kunnen worden gebruikt met TreeSet.
Figuur 01: Programma met TreeSet
Volgens het bovenstaande programma wordt een object van het type TreeSet gemaakt. De string data-elementen worden aan dat object toegevoegd met behulp van de add-methode. De volgorde van de ingevoegde gegevens is A, D, A, B, C, D. Met behulp van de iterator worden de opgeslagen waarden op het scherm afgedrukt. De uitvoer is A, B, C, D. Hoewel er twee A-letters en twee D-letters zijn, geeft de uitvoer elk een A en een D weer. Daarom slaat de TreeSet unieke elementen op. 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 vormt een uitbreiding van de klasse AbstractSet die Set Interface implementeert. De Set-interface erft Collection- en Iterable-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. De opslagvolgorde kan ook A, B, C zijn, maar er is geen garantie dat de ingevoegde volgorde of oplopende volgorde behouden blijft.
Figuur 02: Programma met HashSet
Volgens het bovenstaande programma wordt een object van het type HashSet gemaakt. De string data-elementen worden aan dat object toegevoegd met behulp van de add-methode. De volgorde van de ingevoegde gegevens is L, R, M, M, R, L. Met behulp van de iterator worden de opgeslagen waarden op het scherm afgedrukt. De uitvoer is RL M. Hoewel er van elk twee L-, R- en M-letters zijn, wordt van elk slechts één letter weergegeven. Daarom slaat de HashSet unieke elementen op. Bij het observeren van de output is te zien 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 tot de collectiehiërarchie behoren.
- Zowel TreeSet als HashSet slaan alleen unieke elementen op.
- Zowel TreeSet als HashSet kunnen worden gebruikt om veel elementen op te slaan en te manipuleren.
- Zowel TreeSet als HashSet behouden de ingevoegde volgorde niet.
Wat is het verschil tussen TreeSet en HashSet?
Diff Artikel Midden voor Tafel
TreeSet versus HashSet |
|
TreeSet is een klasse in de collectiehiërarchie die wordt gebruikt om unieke elementen in oplopende volgorde op te slaan. | HashSet is een klasse in de collectiehiërarchie die wordt gebruikt om unieke elementen op te slaan met behulp van het hash-mechanisme. |
Element opslaan | |
TreeSet slaat de elementen op in oplopende volgorde. | HashSet slaat de elementen niet in oplopende volgorde op. |
Samenvatting - TreeSet versus HashSet
Bij het programmeren is het vereist om gegevenselementen dynamisch op te slaan. Programmeertalen zoals Java ondersteunen Collections om deze taak uit te voeren. 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 wordt gebruikt om unieke elementen in oplopende volgorde op te slaan. HashSet is een klasse die de Set-interface implementeert en die wordt gebruikt om unieke elementen op te slaan met behulp van het Hashing-mechanisme. Het verschil tussen TreeSet en HashSet is dat TreeSet de elementen in oplopende volgorde opslaat, terwijl de HashSet de elementen niet in oplopende volgorde opslaat. In dit artikel is het verschil tussen TreeSet en HashSet besproken.