版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/pxl20171799/article/details/84453269
1,求交集
可以直接用ArrayList集合,retainAll()函数,将两个list集合中相同的元素留下
boolean isContains=list.retainAll(list2);
System.out.println(isContains);
System.out.println("两个集合的交集:");
for(Integer c:list)
{
System.out.print(c+" ");
}
2,求差集
也可以用ArrayList集合removeALL()函数,需要注意,此时,有两种情况
boolean notContains1=list2.removeAll(list);
System.out.println(notContains1);
System.out.println("两个集合的差集");
for(Integer c:list2)
{
System.out.print(c+" ");
}
System.out.println();
boolean notContains2=list.removeAll(list2);
System.out.println(notContains2);
System.out.println("差集");
for(Integer c:list)
{
System.out.println(c);
}
3,求并集
因为List集合允许存在重复的元素,但是在集合中,集合的元素不能有重复的,所以求并集时,用List集合不合适,应该选用set集合,set集合中不允许出现相同的元素,如果两个集合在合并时,有相同的元素,集合自动去重
Set<Integer>set1=new HashSet<Integer>();
set1.addAll(list);
set1.addAll(list2);
System.out.println("两个集合的并集");
for(Integer it:set1)
{
System.out.print(it+" ");
}
System.out.println();
完整代码
package Work1;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class Work1 {
public static void main(String[] args)
{
List <Integer> list=new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
List<Integer> list2=new ArrayList<Integer>();
list2.add(1);
list2.add(3);
list2.add(5);
list2.add(7);
list2.add(9);
list2.add(11);
boolean isContains=list.retainAll(list2);
System.out.println(isContains);
System.out.println("两个集合的交集:");
for(Integer c:list)
{
System.out.print(c+" ");
}
System.out.println();
boolean notContains1=list2.removeAll(list);
System.out.println(notContains1);
System.out.println("两个集合的差集");
for(Integer c:list2)
{
System.out.print(c+" ");
}
System.out.println();
boolean notContains2=list.removeAll(list2);
System.out.println(notContains2);
System.out.println("差集");
for(Integer c:list)
{
System.out.println(c);
}
//求并集
Set<Integer>set1=new HashSet<Integer>();
set1.addAll(list);
set1.addAll(list2);
System.out.println("两个集合的并集");
for(Integer it:set1)
{
System.out.print(it+" ");
}
System.out.println();
}
}