public static void main(String[] args) {
minuteList();
}
/**
* 差集 :noneMatch {5,6}
* 交集 :anyMatch {1,2,3,4}
*/
public static void minuteList(){
List<Integer> list1 = Arrays.asList(1, 2, 3, 4,5,6);
List<Integer> list2 = Arrays.asList(1, 2, 3, 4,8);
Predicate<Integer> p1 = l1 -> list2
.stream()
.noneMatch(item -> (l1).equals(item));
// Predicate<Integer> p1 = l1 -> list2.stream().anyMatch(item -> (l1).equals(item));
List<Integer> collect = list1.stream().filter(p1).collect(Collectors.toList());
Predicate<Integer> p2 = l2 -> list1.stream().noneMatch(item -> (l2).equals(item));
// collect = list2.stream().filter(p2).collect(Collectors.toList());
collect.forEach(System.out::println);
// List<Person> filteredPeople = people.stream()
// .filter(person -> Arrays.stream(targetNames).noneMatch(name -> name.equals(person.getName())))
// .collect(Collectors.toList());
List<Integer> collect1 = list2.stream().filter(str -> list1.stream().noneMatch(item -> str.equals(item))).collect(Collectors.toList());
collect1 = list1.stream().filter(str -> list2.stream().noneMatch(item -> str.equals(item))).collect(Collectors.toList());
// collect1.forEach(System.out::println);
}