Sobes.tech
Middle

Jak se určuje velikost hash tabulky?

sobes.tech AI

Odpověď od AI

Velikost hash tabulky (jej kapacita) se obvykle určuje při vytváření instance třídy. Často se to dělá nastavením počáteční kapacity v konstruktoru.

Pokud není počáteční kapacita uvedena, použije se výchozí hodnota (například 16 pro HashMap v Javě).

Při přidávání prvků, pokud počet prvků přesáhne součin aktuální kapacity a faktoru zatížení (load factor, výchozí 0.75), hash tabulka automaticky zvětší svůj rozměr (obvykle zdvojnásobí) a přepočítá hash hodnoty všech prvků (rehashing).

Příklad konstruktoru s určením počáteční kapacity:

// Vytvoření HashMap s počáteční kapacitou 32
Map<String, Integer> map = new HashMap<>(32);

Tímto způsobem se velikost dynamicky řídí na základě počáteční konfigurace a aktuální zátěže.