Ответ
Словарь (Map) — это структура данных, хранящая пары «ключ-значение». Ключи уникальны, каждому ключу соответствует ровно одно значение.
Основные цели использования:
- Быстрый поиск по ключу: Получение значения по его ключу в среднем за O(1) (в
HashMap). - Ассоциация данных: Логическая связь одного объекта с другим (например, идентификатор пользователя -> объект пользователя).
- Устранение дубликатов: Коллекция уникальных ключей.
- Подсчет частот (частотный словарь): Ключ — элемент, значение — сколько раз он встретился.
Пример на Java (HashMap):
Map<String, Integer> cityPopulation = new HashMap<>();
// Добавление данных
cityPopulation.put("Москва", 13_000_000);
cityPopulation.put("Санкт-Петербург", 5_600_000);
// Быстрое получение значения по ключу
int moscowPop = cityPopulation.get("Москва"); // 13000000
// Проверка наличия ключа
boolean hasLondon = cityPopulation.containsKey("Лондон"); // false
// Итерация по парам
for (Map.Entry<String, Integer> entry : cityPopulation.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
Распространенные реализации в Java: HashMap (не гарантирует порядок), LinkedHashMap (сохраняет порядок добавления), TreeMap (хранит ключи отсортированными).