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

publicstaticvoidmain(String[]args){
Integer[]A={1,2,3,4};
Integer[]B={1,3,7,9,11};

List<Integer>listA=Arrays.asList(A);
List<Integer>listB=Arrays.asList(B);

List<Integer>jiaoji=newArrayList<Integer>();
for(Integera:listA){
if(listB.contains(a)){
jiaoji.add(a);
}
}
System.out.println(jiaoji);
List<Integer>bingji=newArrayList<Integer>();
for(Integera:listA){
if(!bingji.contains(a)){
bingji.add(a);
}
}
for(Integerb:listB){
if(!bingji.contains(b)){
bingji.add(b);
}
}

System.out.println(bingji);

List<Integer>chaji=newArrayList<Integer>();
for(Integera:listA){
if(!listB.contains(a)){
chaji.add(a);
}
}
System.out.println(chaji);
}

2. 请问java有工具类取两个list的并集吗

好象List的里retainAll可以完成吧,可以保留相同的元素,将不同的删除,你可以试一下,如果这个不是创建一个新的list,是在原有的list上直接修改。

list1.retainAll(list2);

这样处理后,list1就是处理过的。

看成交集了,失败。。。

并集的话直接把两个的数据都放到一个Set集合里就行了
Set set = new HashSet();
set.addAll(list1);
set.addAll(list2);
这样set里保存的数据就是你要的结果

3. 再问一下关于:java中两个数组的交集怎么求

交集不就是元素相同吗,两个for循环一个一个比较

4. Java如何找到两个数组的交集

//方法有很多,说一个简单点..
importjava.util.Arrays;
importjava.util.HashSet;
publicclassRetTest{
publicstaticvoidmain(String[]args){
专HashSet<Integer>hs=newHashSet<Integer>();//set集合属
int[]a={1,2,3,4,5},//两个数组
b={0,3,4,5,6};
for(inti=0;i<a.length;i++){//外层
for(intj=0;j<b.length;j++){//内层
if(a[i]==b[j]){//如果一样
hs.add(a[i]);//就装集合
}
}
}
System.out.println("a:"+Arrays.toString(a));
System.out.println("b:"+Arrays.toString(b));
System.out.println("交集为:"+hs);
}
}

5. 如何用java求两个集合的交集是否为空

用Collection提供的retainAll方法,如下是测试代码

import java.util.*;
public class TestList1{
public static void main(String[] args){
List list1=new ArrayList();
list1.add("A");list1.add("B");list1.add("C");
List list2=new ArrayList();
list2.add("B");list2.add("C");list2.add("D");

list1.retainAll(list2);
System.out.println(“交集专为:”+list1);
}
}

//测试:属
//交集为:[B, C]

6. java中关于取两个集合交集的retainAll方法 1、是否两个集合要完全相同 2、retainAll方法的原理是什么

打开源代码看看就行了

7. Java求两Collection的交集

intersection()没问题。使用1.7测试代码如下:


importjava.util.ArrayList;
importjava.util.Collection;

publicclassTest{
publicstaticvoidmain(String[]args){
[]arr1={"M116","M140","M250","M120","M98"};
String[]arr2={"M116","M140","M250","M187","M98","M120"};
Collection<String>collection1=toCollection(arr1);
Collection<String>collection2=toCollection(arr2);
Collection<String>collection=intersection(collection1,collection2);
for(Strings:collection){
System.out.println(s);
}
}

publicstatic<T>Collection<T>intersection(Collection<T>collection1,
Collection<T>collection2){
Collection<T>collection=newArrayList<T>();//Howwoulditbe??
for(Tt:collection1){
if(collection2.contains(t)){
collection.add(t);
}
}
returncollection;
}

publicstatic<T>Collection<T>toCollection(T[]arr){
Collection<T>collection=newArrayList<T>();
for(Tt:arr){
collection.add(t);
}
returncollection;
}
}

8. java集合类的交集及差集

我也在找差集的方法,不过你的交集代码让我感觉好多好乱,只要一小句便可求出交集--> list1.retainAll(list2); list1和list2的位版置无权所谓,这样循环一下list1试试,如果还有多个list,一样的道理。----虽然时间有点很久了,但是搜到了你的知道,还是过来看看。

9. java list集合怎么交集

1.8

		finalList<String>l1=newArrayList<String>();
l1.add("a");l1.add("b");l1.add("c");l1.add("d");
List<String>l2=newArrayList<String>();
l2.add("b");l2.add("c");l2.add("d");l2.add("e");

List<String>result=newArrayList<String>();
result.addAll(l2);

result.removeIf(newPredicate<String>(){
@Override
publicbooleantest(Stringt){
return!l1.contains(t);
}
});

System.err.println(result);

普通操作:

		finalList<String>l1=newArrayList<String>();
l1.add("a");l1.add("b");l1.add("c");l1.add("d");
List<String>l2=newArrayList<String>();
l2.add("b");l2.add("c");l2.add("d");l2.add("e");

List<String>result=newArrayList<String>();

for(Strings:l2){
if(l1.contains(s)){
result.add(s);
}
}

System.err.println(result);

10. 在java中怎样求多个arraylist集合的交集

用Collection提供的retainAll方法,如下是测试代码:

import java.util.*;
public class TestList1{
public static void main(String[] args){
List list1=new ArrayList();
list1.add("A");list1.add("B");list1.add("C");
List list2=new ArrayList();
list2.add("B");list2.add("C");list2.add("D");

list1.retainAll(list2);
System.out.println(“交集为:”+list1);
}
}

//测试:
//交集为:[B, C]