Сравнение списков - удалить элементы - PullRequest
0 голосов
/ 17 октября 2018

У меня вопрос - Как удалить объекты из списка, сравнивая его со вторым списком.

Список 1 - Первый список содержит адреса электронной почты .List2 - второй список содержит только домены в формате "@ domain.com" и т. Д.

Я хотел бы удалить объекты (электронные письма) из первого списка, который НЕ во втором списке (List2 - домены).

Например:Если List1 содержит адрес электронной почты "email@domain.com", а второй List2 содержит NOT , содержащий "@ domain.com" - тогда я хочу удалить этот адрес электронной почты (из списка 1)

Я знаю, это может быть дублировано сообщение: Удалить объекты из списка - содержит строки - Сравнение списка Но я не знаю, как создать отрицание (!) Этих ответов ...

Буду благодарен за вашу скорую помощь

1 Ответ

0 голосов
/ 17 октября 2018

Исходя из принятого ответа в вашего другого вопроса , вам просто нужно изменить anyMatch на noneMatch:

list1.removeIf(email -> list2.stream().noneMatch(email::endsWith));
...