Sobes.tech
Junior — Middle

Millist väärtust tagastab hashCode meetod Java-s?

sobes.tech AI

Vastus AI-lt

Java-s hashCode() meetod palauttaa kokonaisluvun (tyyppi int), joka edustaa objektin hajautuskoodia. Tätä koodia käytetään nopeaan objektien hakemiseen ja vertailuun, esimerkiksi kokoelmissa kuten HashMap tai HashSet.

On tärkeää, että jos kaksi objektia ovat yhteneviä equals()-metodin mukaan, niiden hashCode()-arvojen tulee olla samat. Kuitenkin eri objektit voivat saada saman hajautuskoodin (kolliisiot).

Esimerkki hashCode()-metodin uudelleenkirjoittamisesta:

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

Tässä Objects.hash laskee hajautuskoodin objektin kenttien arvojen perusteella.