Fő különbség - TreeSet vs HashSet
A legtöbb programozási nyelv támogatja a tömböket. Ez egy adatstruktúra, amelyet ugyanazon adattípus több elemének tárolására használnak. Ha hat elemre van tömb deklarálva, akkor nem használható tíz elem tárolására. Ezért a tömbök nem dinamikusak és nem változtathatják meg a tömb méretét, miután deklarálták. A programozási nyelvek, például a Java, támogatják az adatok dinamikus tárolására használt gyűjteményeket. A gyűjtemények olyan műveleteket támogatnak, mint az elemek hozzáadása és az elemek törlése. A gyűjtemény hierarchiájában számos interfész és osztály található. Az alapfelület a Gyűjtemény felület. A Set egy interfész, amely kiterjeszti a Collection felületet. Nem teszi lehetővé a duplikációt. A TreeSet és a HashSet két osztály a Gyűjtemény hierarchiában, és mindkettő megvalósítja a Set felületet. A TreeSet a Set felületet megvalósító osztály, amelyet egyedi elemek növekvő sorrendben történő tárolására használnak. A HashSet egy olyan osztály, amely megvalósítja a Set felületet, és egyedi elemek tárolására szolgál a Hashing mechanizmus segítségével. A legfontosabb különbség a TreeSet és a HashSet között az, hogy a TreeSet az elemeket növekvő sorrendben tárolja, míg a HashSet az elemeket nem növekvő sorrendben tárolja. A TreeSet és a HashSet is csak egyedi elemeket tárol.
TARTALOM
1. Áttekintés és kulcsfontosságú különbségek
2. Mi a TreeSet
3. Mi az a HashSet
4. A TreeSet és a HashSet közötti hasonlóság
5. Egymás melletti összehasonlítás - TreeSet vs HashSet táblázatos formában
6. Összefoglalás
Mi az a TreeSet?
A TreeSet osztály megvalósítja a NavigableSet felületet. A NavigableSet interfész kiterjeszti a SortedSet, a Set, a Collection és az Iterable interfészeket hierarchikus sorrendben. A TreeSet mindig fenntartja a növekvő sorrendet. Ha az elemeket B, A, C sorrendben illesztette be, akkor A, B, C formátumban tárolódnak. Az olyan módszerek, mint az add (), remove (), használhatók a TreeSet objektummal. Az add metódus használható egy elem hozzáadására. Az eltávolítási módszer egy elem eltávolítására szolgál a gyűjteményből. Ezek a módszerek használhatók a TreeSet-tel.
01. ábra: Programozás a TreeSet programmal
A fenti program szerint létrejön egy TreeSet típusú objektum. A karakterlánc-adatelemeket hozzáadjuk az objektumhoz az add metódussal. A beillesztett adatok sorrendje A, D, A, B, C, D. Az iterátor segítségével a tárolt értékeket kinyomtatja a képernyőre. A kimenet A, B, C, D. Annak ellenére, hogy van két A betű és két D betű, a kimenet egy-egy A-t és egy D-t jelenít meg. Ezért a TreeSet egyedi elemeket tárol. Nincs különösebb beszúrási sorrend, de a kimenet megfigyelésekor látható, hogy a TreeSet fenntartja az elemek növekvő sorrendjét.
Mi az a HashSet?
A HashSet osztály kiterjeszti az AbstractSet osztályt, amely megvalósítja a Set Interface-t. A Set felület hierarchikus sorrendben örökli a Gyűjtemény és az Iterable interfészeket. A HashSet-ben nincs garancia arra, hogy az elemek fenntartják a növekvő és a beillesztett sorrendet. Ha a beillesztett sorrend A, B, C volt, akkor az értékek C, A, B néven tárolhatók. A tárolási sorrend is lehet A, B, C, de nincs garancia arra, hogy a beillesztett vagy növekvő sorrend megmarad.
02. ábra: Program a HashSettel
A fenti program szerint létrejön egy HashSet típusú objektum. A karakterlánc-adatelemeket hozzáadjuk az objektumhoz az add metódussal. A beillesztett adatok sorrendje L, R, M, M, R, L. Az iterátor segítségével a tárolt értékeket a képernyőre nyomtatja. A kimenet RL M. Annak ellenére, hogy mindegyikből két L, R és M betű van, mindegyikből csak egy betű jelenik meg. Ezért a HashSet egyedi elemeket tárol. A kimenet megfigyelésekor látható, hogy nincs növekvő sorrend, vagy a beillesztett sorrend fennmarad.
Milyen hasonlóságok vannak a TreeSet és a HashSet között?
- A TreeSet és a HashSet egyaránt osztályok a gyűjtemény hierarchiájához tartoznak.
- A TreeSet és a HashSet is csak egyedi elemeket tárol.
- A TreeSet és a HashSet egyaránt felhasználható számos elem tárolására és kezelésére.
- A TreeSet és a HashSet sem tartja fenn a beillesztett sorrendet.
Mi a különbség a TreeSet és a HashSet között?
Különböző cikk a táblázat előtt
TreeSet vs HashSet |
|
A TreeSet egy osztály a gyűjtemény hierarchiájában, amelyet egyedi elemek növekvő sorrendben történő tárolására használnak. | A HashSet a gyűjtemény hierarchiájának olyan osztálya, amelyet egyedi elemek tárolására használnak a Hashing mechanizmus segítségével. |
Elemtárolás | |
A TreeSet az elemeket növekvő sorrendben tárolja. | A HashSet nem tárolja az elemeket növekvő sorrendben. |
Összegzés - TreeSet vs HashSet
A programozás során dinamikusan kell tárolni az adatelemeket. A programozási nyelvek, például a Java, támogatják a Gyűjteményeket ennek a feladatnak a megvalósításához. A gyűjtemény hierarchiájában számos interfész és osztály található. A TreeSet és a HashSet két osztály a Gyűjtemény hierarchiában. Mindkét megvalósítja a Set felületet. A TreeSet a Set felületet megvalósító osztály, amelyet egyedi elemek növekvő sorrendben tárolnak. A HashSet egy olyan osztály, amely megvalósítja a Set felületet, és egyedi elemek tárolására szolgál a Hashing mechanizmus segítségével. A TreeSet és a HashSet közötti különbség az, hogy a TreeSet az elemeket növekvő sorrendben tárolja, míg a HashSet az elemeket nem növekvő sorrendben tárolja. Ez a cikk a TreeSet és a HashSet közötti különbséget tárgyalta.