🗊 Презентация Методи equals та hashcode

Нажмите для полного просмотра!
Методи equals та hashcode, слайд №1 Методи equals та hashcode, слайд №2 Методи equals та hashcode, слайд №3 Методи equals та hashcode, слайд №4 Методи equals та hashcode, слайд №5 Методи equals та hashcode, слайд №6 Методи equals та hashcode, слайд №7 Методи equals та hashcode, слайд №8 Методи equals та hashcode, слайд №9 Методи equals та hashcode, слайд №10

Вы можете ознакомиться и скачать презентацию на тему Методи equals та hashcode. Доклад-сообщение содержит 10 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Перевизначення методів equals та hashCode
Описание слайда:
Перевизначення методів equals та hashCode

Слайд 2


Методи equals та hashcode Метод equals() – перевірка рівності елементів. Типове застосування – пошук в масивах, колекціях, картах. Метод hashCode() –...
Описание слайда:
Методи equals та hashcode Метод equals() – перевірка рівності елементів. Типове застосування – пошук в масивах, колекціях, картах. Метод hashCode() – повертає хеш-функцію об'єкта. Якщо цей метод перевизначено, елементи можна використовувати в HashSet, а також як ключі HashMap. Якщо для цих типів перевизначається equals(), то повинен бути перевизначений і hashcode() .

Слайд 3


Що можна сказати про код class MyClass { int a; @Override public boolean equals(MyClass other) { return this.a == other.a; } }
Описание слайда:
Що можна сказати про код class MyClass { int a; @Override public boolean equals(MyClass other) { return this.a == other.a; } }

Слайд 4


Загальні вимоги до equals Рефлексивність. Для будь-якого посилання ref ref.equals(ref) повинно завжди давати true. Симетричність....
Описание слайда:
Загальні вимоги до equals Рефлексивність. Для будь-якого посилання ref ref.equals(ref) повинно завжди давати true. Симетричність. x.equals(y)дорівнюєо true тоді і тільки тоді, коли y.equals(x). Транзитивність. Якщо x.equals(y), y.equals(z), то x.equals(z). Несуперечливість. Різні виклики equals для тих же об'єктів повинні давати той самий результат, якщо самі об'єкти не змінилися. Порівняння з null. Для кожного не-null посилання ref.equals(null) завжди false. Часто перевіряється ще й відповідність типів.

Слайд 5


Загальні вимоги до hashCode Несуперечливість під час виконання – різні виклики того самого об'єкта повинні давати той самий результат, якщо сам...
Описание слайда:
Загальні вимоги до hashCode Несуперечливість під час виконання – різні виклики того самого об'єкта повинні давати той самий результат, якщо сам об'єкт не змінився. Для рівних об'єктів значення хеш-функції повинні співпадати. Для нерівних об'єктів неспівпадіння не обов'язкове, але дуже рекомендується.

Слайд 6


Можлива реалізація equals public boolean equals(Object obj) { if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; }...
Описание слайда:
Можлива реалізація equals public boolean equals(Object obj) { if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final Kl other = (Kl) obj; if (this.a != other.a) { return false; } if (this.b != other.b) {return false; } if (this.c != other.c) { return false; } return true; }

Слайд 7


Можлива реалізація equals public boolean equals(Object obj) { if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; }...
Описание слайда:
Можлива реалізація equals public boolean equals(Object obj) { if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final Kl other = (Kl) obj; if (this.a != other.a) { return false; } if (this.b != other.b) {return false; } if (this.c != other.c) { return false; } return true; }

Слайд 8


Можлива реалізация hashCode public int hashCode() { int hash = 3; hash = 31 * hash + this.a; hash = 31 * hash + this.b; hash = 31 * hash + this.c;...
Описание слайда:
Можлива реалізация hashCode public int hashCode() { int hash = 3; hash = 31 * hash + this.a; hash = 31 * hash + this.b; hash = 31 * hash + this.c; return hash; }

Слайд 9


Або: public int hashCode() { return this.toString().hashCode(); }
Описание слайда:
Або: public int hashCode() { return this.toString().hashCode(); }

Слайд 10


Методи equals та compareTo Природно, ці методи повинні бути узгоджені між собою. Якщо compareTo визначений належним чином, то equals може бути...
Описание слайда:
Методи equals та compareTo Природно, ці методи повинні бути узгоджені між собою. Якщо compareTo визначений належним чином, то equals може бути визначений, наприклад, так: return compareTo(other)==0;



Похожие презентации
Mypresentation.ru
Загрузить презентацию