Sobes.tech
Junior — Middle

Можете ли да обясните предназначението на метода hashCode в класа Object в Java и как се използва?

sobes.tech AI

Отговор от AI

Методът hashCode() в класа Object в Java връща цяло число (хеш код) на обекта, който се използва, например, в хеш таблици (HashMap, HashSet) за бързо търсене.

Според договора, ако два обекта са равни според метода equals(), то техните hashCode() трябва да връщат еднаква стойност. Това е важно за правилната работа на колекциите, базирани на хеширане.

По подразбиране, hashCode() връща стойност, свързана с адреса на обекта в паметта, но често този метод се преписва, за да взема предвид съдържанието на обекта.

Пример за преписване:

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

По този начин, hashCode() помага ефективно да се индексират обектите в колекциите.