Map

Map


Map. Данний інтерфейс знаходить у складі JDK з версії 1.2 та представляє розробнику базові методи для роботи з данними вигляду "ключ - значення". Також як і Collection, він був доповнений дженеріками у версії Java 1.5, а у версії Java 8 зявились додаткові методи для роботи з лямбдами, а також методи, які часто реалізовувались у логіці програми(getOrDefault(Object key, V defaultValue)putIfAbsent(K key, V value)).


HashMap — синхронізована колекція і HashMap дозволяє використовувати null у якості ключа та значення. Ця колекція не є упорядкованою: порядок зберігання елементів залежить віж хеш-функції. Додавання елемента виконується за констрантний час, але час видалення(отримання) залежить від розподілення хеш-функції.


LinkedHashMap - це упорядкована реалізація хеш-таблиці. Тут, на відмінну від HashMap, порядок дорівнює порядку додавання елементів. Ця особливість досягається завдяки двохнаправленим зв’язкам між елементами(аналогічно LinkedList). Але ця перевага має також і недолік - збільшення пам’яті, яке займає колекція


TreeMap - реалізація Map, заснована на червоно-чорних деревах. Як і LinkedList є упорядкованою. За замовчуванням, колекція сортирується по ключам з використанням принципу "natural ordering", але ця поведінка може бути налаштована під конкретну задачу за допомогою об’єкта Comparator, який вказуєтся у якості параметра при створенні об’єкта TreeMap.

Report Page