Sobes.tech
Junior — Middle

Czy możesz wyjaśnić cel metody hashCode w klasie Object w Java i jak jest ona używana?

sobes.tech AI

Odpowiedź od AI

Metoda hashCode() w klasie Object w Javie zwraca wartość całkowitą (kod haszujący) obiektu, która jest używana na przykład w tablicach haszujących (HashMap, HashSet) do szybkiego wyszukiwania.

Zgodnie z kontraktem, jeśli dwa obiekty są równe według metody equals(), to ich hashCode() musi zwracać tę samą wartość. Jest to ważne dla poprawnego działania kolekcji opartych na haszowaniu.

Domyślnie hashCode() zwraca wartość powiązaną z adresem obiektu w pamięci, ale często ta metoda jest nadpisywana, aby uwzględnić zawartość obiektu.

Przykład nadpisania:

@Override
public int hashCode() {
    return Objects.hash(field1, field2);
}

W ten sposób hashCode() pomaga efektywnie indeksować obiekty w kolekcjach.