我有两个列表。要求根据条件从list1中过滤掉不在list2中的元素。
Class Fighter
{
String name;
String address;
}
List<Fighter> pairs1 = new ArrayList();
pairs1.add(new Fighter("a", "a"));
pairs1.add(new Fighter("b", "a"));
List<Fighter> pairs2 = new ArrayList();
pairs2.add(new Fighter("a", "c"));
pairs2.add(new Fighter("a", "d"));
Set<Fighter> finalValues = new HashSet<>();
finalValues = pairs1.stream().filter(firstList ->
pairs2.stream().noneMatch(secondList ->
firstList.getName().equals(secondList.getName())
&& firstList.getName().equals(secondList.getName()))).collect(Collectors.toSet());
System.out.println(finalValues);
期望输出:a=a,b=a
解释:在 list1 中但不在 list2 中的元素
以上代码没有得到期望的输出。请告诉我如何更正上述流式代码以获得输出。