我有 2 个列表。要求是根据条件过滤掉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);
Run Code Online (Sandbox Code Playgroud)
预期输出:a=a, b=a
说明:list1 中的元素不在 list2 中
上面的代码没有给出预期的输出。请让我知道如何更正上述流代码以获得输出