Junior
Jak je prováděno ukládání objektů v HashMap?
sobes.tech AI
Odpověď od AI
Objekty jsou uloženy ve formě párů "klíč-hodnota". HashMap používá pole "kbelíků" (buckets). Při přidávání páru:
- Vypočítá se hash kód klíče pomocí
hashCode(). - Pomocí hash kódu se určí index kbelíku v poli.
- Do tohoto kbelíku se umístí pár
Entry(nebo ekvivalent v novějších verzích Java), který obsahuje klíč, hodnotu a hash kód. - Pokud v kbelíku již jsou objekty, tvoří spojovaný seznam nebo strom (v případě velkého počtu kolizí).
Při získávání objektu podle klíče:
- Vypočítá se hash kód klíče.
- Určí se index kbelíku.
- Uvnitř kbelíku se hledá objekt s klíčem, pro který
equals()vracítrue, a jehož hash kódy se shodují.
Klíče by měly být neměnné a správně implementovat metody hashCode() a equals().