list.stream().reduce((list1,list2) ->{ list1.retainAll(list2)return list1}).orElse(emptyList())
//交集set1.retainAll(set2)
//差集
set1.removeAll(set2)
//并集1
set1.addAll(set2)
list.stream().reduce((list1,list2) ->{ list1.retainAll(list2)return list1}).orElse(emptyList())
//交集set1.retainAll(set2)
//差集
set1.removeAll(set2)
//并集1
set1.addAll(set2)