Page 180 - 6253
P. 180
Карта-дерево cars до додавання:
Andrij -> Mercedes
Vasyl -> Audi
Ivan -> BMW
Taras -> Opel
Petro -> Ford
Карта-дерево cars після додавання:
Ivan -> BMW
Taras -> Opel
Petro -> Ford
Bogdan -> Honda
Denys -> Skoda
Представлений приклад демонструє роботу перевизначеного методу
removeEldestEntry(). Як можна побачити, елементи, які були додані першими
видаляються із карти, оскільки метод removeEldestEntry() повертає значення true у
випадку, якщо у карту намагатися помістити більше 5-ти елементів.
Клас IdentityHashMap
Клас IdentityHashMap розширює клас AbstractMap і реалізує інтерфейс Map.
Єдина його відмінність від класу HashMap полягає в тому, що під час порівняння
елементів у ньому виконується перевірка на еквівалентність посилань. Клас
IdentityHashMap – це узагальнений клас, який оголошується наступним чином:
class IdentityHashMap <K, V>
У документації по API сказано, що клас IdentityHashMap повинен
використовуватися тільки у тих випадках, коли інші класи карт не підходять для
вирішення поставленої перед ними задачі.
Клас EnumMap
Клас EnumMap розширює клас AbstractMap і реалізує інтерфейс Map. У ньому
для доступу до елементів карти використовуються ключі типу enum. Клас EnumMap
– це узагальнений клас, який оголошується наступним чином:
class EnumMap <K extends Enum <K>, V>
179