Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvOpOlHC 52 of 147 menu
◀ ▶

Хеш-код объекта в Java

Коллекции с быстрым поиском опираются на целочисленный отпечаток каждого элемента. В Java его даёт метод hashCode из Object. Его используют HashMap, HashSet и другие структуры. Реализация по умолчанию привязана к идентичности экземпляра: у двух разных объектов обычно разные коды, даже если поля совпадают.

Вызвать hashCode можно у любого объекта:

class Post { public String title; public Post(String title) { this.title = title; } }

Создадим объект Post и выведем число, которое вернет hashCode:

Post post = new Post("News"); System.out.println(post.hashCode());

Два отдельных объекта Post с одним заголовком дают разные хеш-коды, пока hashCode не переопределён:

Post first = new Post("News"); Post second = new Post("News"); System.out.println(first.hashCode() == second.hashCode());

Один и тот же экземпляр при повторном вызове возвращает один и тот же хеш-код:

Post post = new Post("News"); int first = post.hashCode(); int second = post.hashCode(); System.out.println(first == second);

Создайте объект Employee и выведите его hashCode() в консоль.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить