Hogyan határozzák meg a hash-tábla méretét?
sobes.tech MI
Válasz az MI-től
A hash-tábla mérete (az kapacitása) általában az osztály példányának létrehozásakor kerül meghatározásra. Gyakran ez a konstruktorban megadott kezdeti kapacitás beállításával történik.
Ha a kezdeti kapacitás nincs megadva, akkor alapértelmezett érték kerül alkalmazásra (például 16 a Java HashMap esetében).
Az elemek hozzáadásakor, ha az elemek száma meghaladja a jelenlegi kapacitás és a betöltési tényező (load factor, alapértelmezett 0.75) szorzatát, a hash-tábla automatikusan növeli a méretét (általában megduplázza), és újraszámítja az összes elem hash értékét (rehashing).
Példa a konstruktorra, amely megadja a kezdeti kapacitást:
// HashMap létrehozása kezdeti kapacitással 32
Map<String, Integer> map = new HashMap<>(32);
Így a méret dinamikusan igazodik a kezdeti konfigurációhoz és a jelenlegi terheléshez.