Словарь HashMap в Java

HashMap в Java: словарь «ключ — значение», добавление и получение по ключу, проверка наличия и перебор пар.

HashMap хранит пары «ключ — значение». По ключу можно мгновенно получить связанное с ним значение — это похоже на словарь, где слово (ключ) ведёт к определению (значение).

Создание и добавление

В угловых скобках указывают два типа: тип ключа и тип значения.

import java.util.HashMap;

HashMap<String, Integer> ages = new HashMap<>();
ages.put("Аня", 25);
ages.put("Боря", 30);
ages.put("Вика", 22);

System.out.println(ages.get("Боря"));    // 30 — значение по ключу
System.out.println(ages.size());          // 3

Вывод:

30
3

Ключи уникальны: повторный put с тем же ключом заменит старое значение, а не добавит второе.

Основные методы

Метод

Действие

put(k, v)

добавить или заменить пару

get(k)

значение по ключу (или null)

containsKey(k)

есть ли такой ключ

remove(k)

удалить пару по ключу

getOrDefault(k, d)

значение или d, если ключа нет

HashMap<String, Integer> stock = new HashMap<>();
stock.put("яблоки", 5);

System.out.println(stock.containsKey("груши"));        // false
System.out.println(stock.getOrDefault("груши", 0));    // 0 — ключа нет

Вывод:

false
0

Перебор пар

Чтобы пройти по всем парам, используют entrySet() и методы getKey() / getValue():

HashMap<String, Integer> ages = new HashMap<>();
ages.put("Аня", 25);
ages.put("Боря", 30);

for (var entry : ages.entrySet()) {
    System.out.println(entry.getKey() + " → " + entry.getValue());
}

Вывод:

Аня → 25
Боря → 30

HashMap не сохраняет порядок добавления — пары могут перебираться в произвольном порядке. Если порядок важен, существует LinkedHashMap.

Коротко

  • HashMap хранит пары «ключ — значение»; доступ к значению — по ключу.
  • Ключи уникальны: повторный put заменяет значение.
  • Методы: put, get, containsKey, remove, getOrDefault.
  • Пары перебирают через entrySet(); порядок не гарантирован.
Проверьте себя
1. Что хранит HashMap?
AТолько числа
BПары «ключ — значение»
CУпорядоченный список
DОдин элемент
2. Что произойдёт при put с уже существующим ключом?
AДобавится вторая пара
BСтарое значение заменится новым
CВозникнет ошибка
DКлюч удалится
3. Что вернёт getOrDefault("x", 0), если ключа "x" нет?
Anull
B0
CОшибку
DПустую строку
Поддержать проект