Sobes.tech
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:

  1. Vypočítá se hash kód klíče pomocí hashCode().
  2. Pomocí hash kódu se určí index kbelíku v poli.
  3. 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.
  4. 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:

  1. Vypočítá se hash kód klíče.
  2. Určí se index kbelíku.
  3. 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().