от
У меня
HashMap
со следующей структурой.
Map
Класс
Container
содержит
List
. Я хочу, чтобы очистить содержимое этого списка, так что список существует, но с 0 элементов. Позже я снова поставил значения в нем. В
replaceAll()
ожидает
BiFunction
. Благодаря этому после дает ошибку компиляции, потому что тип возвращаемого
clear()
является
void
:
personMap.replaceAll((k,v)

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

4 Ответы

0 голосов
от
Вы можете использовать это:
map.values().forEach(i 

В качестве альтернативы вы можете использовать это:

map.values().stream()
        .map(Container::getMyList)
        .forEach(List::clear);
0 голосов
от
Повторяя свой
Map
с
forEach
потребует
BiConsumer
0 голосов
от
Понятно почему он на первом месте?
map.forEach((k, v)
0 голосов
от
Во-первых, если вы ориентируетесь на конкретный контейнер : во-первых, вы должны использовать карту.метод GET.
map.get(containerId);
Затем, чтобы очистить список
map.get(containerId).getList().clear();
Если вы хотите удалить их все (как предлагалось ранее) :
map.values().forEach(i
...