Junior — Middle
Pri kateri vrednosti threshold v HashMap pride do spremembe notranje strukture shranjevanja iz LinkedList v TreeSet?
sobes.tech AI
Odpoveď od AI
V implementácii HashMap v Jave, od verzie Java 8, keď počet prvkov v jednom koši (bucket) prekročí určitý prah, sa vnútorná štruktúra uloženia zmení z prepojeneho zoznamu (LinkedList) na vyvážené stromové usporiadanie (TreeMap), čo zlepšuje výkon vyhľadávania.
Tento prah sa nazýva TREEIFY_THRESHOLD a je rovný 8.
To znamená, že keď je v jednom koši HashMap 8 alebo viac prvkov, prepojený zoznam sa premení na strom.
Toto umožňuje znížiť čas vyhľadávania z O(n) na O(log n) v najhoršom prípade pri veľkom počte kolízií.