HashMap — одна из самых популярных коллекций в Java. Она хранит данные в формате ключ → значение и позволяет быстро находить элементы по ключу.
Например, сохраним имена пользователей по их ID:
Map<Integer, String> users = new HashMap<>();
users.put(1, "Alex");
users.put(2, "Maria");
users.put(3, "Ivan");
System.out.println(users.get(2));
Результат:
Maria
Основные методы:
- put(key, value) — добавить или заменить значение.
- get(key) — получить значение по ключу.
- remove(key) — удалить элемент.
- containsKey(key) — проверить наличие ключа.
- size() — узнать количество элементов.
Важные особенности HashMap:
- Ключи уникальны. Если добавить существующий ключ, старое значение заменится новым.
- Допускается один null-ключ и несколько null-значений.
- Порядок элементов не гарантируется.
- HashMap не является потокобезопасной коллекцией.
А что будет здесь?
Map<String, Integer> map = new HashMap<>();
map.put("Java", 10);
map.put("Java", 20);
map.put("Python", 30);
System.out.println(map.size());
System.out.println(map.get("Java"));
Ответ:
2
20
Почему? Повторное добавление ключа "Java" заменяет его значение, а не создаёт новый элемент.
Главная идея: HashMap удобен, когда нужно быстро получать данные по уникальному ключу.