Ответ
Интерфейс Map<K, V> представляет структуру данных «ключ-значение», где каждый уникальный ключ ассоциирован с одним значением.
Основные применения:
- Быстрый поиск по ключу (в
HashMap— в среднем O(1)). - Кэширование результатов вычислений.
- Агрегация и группировка данных (ключ — критерий группировки).
- Хранение конфигураций и параметров.
Пример использования HashMap:
Map<String, Integer> cityPopulation = new HashMap<>();
cityPopulation.put("Tokyo", 37_400_000);
cityPopulation.put("Delhi", 31_400_000);
// Получение значения по ключу
Integer tokyoPop = cityPopulation.get("Tokyo"); // 37400000
// Проверка наличия ключа
boolean hasLondon = cityPopulation.containsKey("London"); // false
Важные реализации и их особенности:
HashMap— высокая производительность, не гарантирует порядок.LinkedHashMap— сохраняет порядок добавления элементов.TreeMap— сортирует ключи по их естественному порядку или компаратору.
Ключевое требование: Ключи должны корректно переопределять методы equals() и hashCode().