java8获取两个list的交集和差集_java8两个List集合取交集、并集、差集、去重并集...

时间:2025-03-09 08:19:41

.ArrayList;;import ;public classTest {public static voidmain(String[] args) {

List list1 = new ArrayList();

("1");

("2");

("3");

("5");

("6");

List list2 = new ArrayList();

("2");

("3");

("7");

("8");//交集

List intersection = list1.stream().filter(item ->(item)).collect(toList());

("---交集 intersection---");

().forEach( :: println);//差集 (list1 - list2)

List reduce1 = ().filter(item -> !(item)).collect(toList());

("---差集 reduce1 (list1 - list2)---");

().forEach( :: println);//差集 (list2 - list1)

List reduce2 = ().filter(item -> !(item)).collect(toList());

("---差集 reduce2 (list2 - list1)---");

().forEach( :: println);//并集

List listAll =().collect(toList());

List listAll2 =().collect(toList());

(listAll2);

("---并集 listAll---");

().forEachOrdered( :: println);//去重并集

List listAllDistinct =().distinct().collect(toList());

("---得到去重并集 listAllDistinct---");

().forEachOrdered( :: println);

("---原来的List1---");

().forEachOrdered( :: println);

("---原来的List2---");

().forEachOrdered( :: println);

}

}