Map.remove()
Удаляет пару по ключу.
Доступно с: Java 1.2
Синтаксис
V remove(Object key)
default boolean remove(Object key, Object value)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| key | Object | Удаляемый ключ. |
| value | Object | Необязательно: удалить, только если значение совпадает. |
Возвращаемое значение
V | booleanУдалённое значение (или `null`); версия с двумя аргументами — `true`, если пара удалена.
Примеры
Удаление по ключу:
void main() {
Map<String, Integer> cart = new TreeMap<>(Map.of("tea", 2, "milk", 1, "bread", 1));
IO.println(cart.remove("milk"));
IO.println(cart.remove("juice"));
IO.println(cart);
}Результат:
1
null
{bread=1, tea=2}Удаление по условию через entrySet():
void main() {
Map<String, Integer> cart = new TreeMap<>(Map.of("tea", 2, "milk", 0, "bread", 0));
cart.entrySet().removeIf(e -> e.getValue() == 0);
IO.println(cart);
}Результат:
{tea=2}Примечания
Нельзя вызывать map.remove() внутри цикла for по этому же словарю — будет ConcurrentModificationException. Для удаления по условию используйте map.entrySet().removeIf(...) или map.values().removeIf(...).
См. также
- Map.put() — Записывает значение по ключу, заменяя прежнее.
- Collection.removeIf() — Удаляет из коллекции все элементы, подходящие под условие.
- Map.keySet() — Возвращает множество всех ключей словаря.
В учебнике
- Словари: Map и HashMap — Словари Map в Java: пары ключ — значение, put и get, getOrDefault, подсчёт с merge, TreeMap и LinkedHashMap.