public class Test{
public static void main(String[] args) {
List<Integer> list1 = new ArrayList<>(Arrays.asList(1,2,3));
System.out.println("list1:"+list1);
List<Integer> list2 = new ArrayList<>(Arrays.asList(3,4,5));
System.out.println("list2:"+list2);
/*交集*/
List<Integer> collect1 = list1.stream().filter(list2::contains).collect(Collectors.toList());
System.out.println("交集:"+collect1);
/*并集*/
List<Integer> collect2 = Stream.of(list1, list2).flatMap(Collection::stream).distinct().collect(Collectors.toList());
System.out.println("并集:"+collect2);
/*差集*/
List<Integer> collect3 = list1.stream().filter(e -> !list2.contains(e)).collect(Collectors.toList());
System.out.println("差集:"+collect3);
/*合并*/
List<Integer> collect4 = Stream.of(list1, list2).flatMap(Collection::stream).collect(Collectors.toList());
System.out.println("合并:"+collect4);
}
}