列表比较-删除元素

时间:2018-10-17 11:53:12

标签: java list removeall remove-if

我的问题是-如何通过与第二个列表进行比较从列表中删除对象。


列表1-第一个列表包含电子邮件地址
List2-第二个列表仅包含格式为“ @ domain.com” 等的域

我想从第二个列表(列表2-域)上的的第一个列表中删除对象(电子邮件)。

例如:
如果List1包含电子邮件地址“ email@domain.com”,而第二个List2 包含“ @ domain.com”,那么我想删除此电子邮件地址(从列表1中删除)

我知道它可能是重复的帖子:
Remove objects from list - contains strings - Comparing the List
但是我不知道如何对这些答案求反(!)...

感谢您的快速帮助

1 个答案:

答案 0 :(得分:1)

基于accepted answer中的your other question,您只需要将anyMatch更改为noneMatch

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