Ответ
HashMap — одна из самых популярных структур данных в Java. Использую её часто, особенно когда нужно:
- Быстро получать доступ к элементам по ключу (O(1) в среднем случае).
- Хранить пары ключ-значение без гарантии порядка.
- Кэшировать данные или избегать дублирования.
Пример:
Map<String, Integer> userAges = new HashMap<>();
userAges.put("Alice", 30);
userAges.put("Bob", 25);
int age = userAges.get("Alice"); // 30
Нюансы:
- Не потокобезопасна — для многопоточности лучше
ConcurrentHashMap. - Может деградировать до O(n) при коллизиях (плохой хэш-код).
nullдопустим и для ключа, и для значения (но осторожно сNullPointerException).
Выбираю HashMap, когда порядок не важен, а важна скорость доступа.