Junior
Aké sú hlavné implementácie rozhrania Set v Jave?
sobes.tech AI
Odpoveď od AI
Hlavné implementácie rozhrania Set v Jave:
HashSet: Používa hash tabuľku na ukladanie prvkov. Nezaručuje poradie prvkov. Rýchly prístup O(1) v priemere.LinkedHashSet: Dedí odHashSet, ale používa ďalší prepojený zoznam na zapamätanie poradia pridania prvkov. Iterácia prebieha v poradí pridania.TreeSet: Ukladá prvky v zoradenom poradí pomocou červeno-čierneho stromu. Vyžaduje, aby prvky boliComparablealebo aby bol poskytnutýComparator. Operácieadd,remove,containssa vykonávajú v čase O(log n).EnumSet: Špecializovaná vysokovýkonná implementácia na použitie s výčtami (enum). Prvky musia byť rovnakého typu výčtu.
Tu je krátka porovnávacia tabuľka:
| Implementácia | Zoradí? | Povolené null? | Základné uloženie | Výkon (priemerný prípad) |
|---|---|---|---|---|
HashSet |
Nie | Áno | Hash tabuľka | O(1) |
LinkedHashSet |
Áno | Áno | Hash tabuľka + prepojený zoznam | O(1) |
TreeSet |
Áno (prirodzené alebo definované) | Nie | Červeno-čierne strom | O(log n) |
EnumSet |
Áno (poradie deklarácie) | Nie | Vektory bitov (vnútorné) | Veľmi vysoké, efektívne O(1) |