javalist交集(java list取并集)
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);
}