javalist交集(java list取并集)

http://www.itjxue.com  2023-02-20 08:30  来源:未知  点击次数: 

java找到两个list的交集并集差集

//交集

set1.retainAll(set2);

//差集

set1.removeAll(set2);

//并集1

set1.addAll(set2);

JAVA怎么取多个List集合的交集?

1、把多个list放到一个list中,生成 ListListObject结构

2、遍历list,使用java8的规约操作,两两求交集

list.stream().reduce((list1,list2) - { list1.retainAll(list2); return list1;}).orElse(emptyList());

用java编写程序,求集合的并集、交集和差集

public?static?void??main(String[]?args)?{

???? Integer[]?A?=?{1,2,3,4};

???? Integer[]?B?=?{1,3,7,9,11};

????

???? ListInteger?listA?=?Arrays.asList(A);

???? ListInteger?listB?=?Arrays.asList(B);

????

???? ListInteger?jiaoji?=?new?ArrayListInteger();

???? for(Integer?a:listA){

???? if(listB.contains(a)){

???? jiaoji.add(a);

???? }

???? }

???? System.out.println(jiaoji);

???? ListInteger?bingji?=?new?ArrayListInteger();

???? for(Integer?a:listA){

???? if(!bingji.contains(a)){

???? bingji.add(a);

???? }

???? }

???? for(Integer?b:listB){

???? if(!bingji.contains(b)){

???? bingji.add(b);

???? }

???? }

????

???? System.out.println(bingji);

????

???? ListInteger?chaji?=?new?ArrayListInteger();

???? for(Integer?a:listA){

???? if(!listB.contains(a)){

???? chaji.add(a);

???? }

???? }

???? System.out.println(chaji);

????}

java 求三个数组的交集

其实可以参考一楼的。

// 求两个数组的交集

public static void intersect(Double[] arr1, Double[] arr2, Double[] arr3) {

for (Double str : arr1) {

if(Arrays.asList(arr2).contains(str) Arrays.asList(arr3).contains(str)){

System.out.println(str);

}

}

}

public static void main(String[] args) {

Double[] arrayA = new Double[]{1d,2d,3d,4d,5d};

Double[] arrayB = new Double[]{1d,2d,7d,8d,9d};

Double[] arrayC = new Double[]{1d,2d,3d,4d,9d};

intersect(arrayA, arrayB, arrayC);

}

(责任编辑:IT教学网)

更多

推荐导航代码文章