从列表中删除对象 - 包含字符串 - 比较列表

Łuk*_*ski 3 java iterator arraylist removeall

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

List1 - 第一个列表包含电子邮件地址.
List2 - 第二个列表包含" @ domain.com "等格式的

我想从第一个列表中删除包含第二个列表中的域的对象(电子邮件).

例如:
如果List1包含电子邮件地址:"email@domain.com",第二个List2包含"@ domain.com" - 那么我想删除此电子邮件(来自List1)

我试着用:

List1.removeIf(s -> s.equals (List2));
List1.removeAll(List2);
Run Code Online (Sandbox Code Playgroud)

不幸的是,它没有像我想的那样过滤我的列表.

我将非常感谢您的快速帮助

Ohl*_*leC 5

就像是

list1.removeIf(email -> list2.stream().anyMatch(email::endsWith));
Run Code Online (Sandbox Code Playgroud)

应该管用