本文目录一览:
java求交集和并集
虽然想尽量维持你程序的原型,但是还是改的差不多了。学java注重的是面向对象的思想,建议你不要把太多精力放在这些算法上面,不能再像学习C语言那样学习java。
public class Group{
public void jiaoji(int[] a,int[] b){
for(int i=0;ia.length;i++){
for(int j=0;jb.length;j++){
if(a[i]==b[j]){
System.out.print(a[i]+",");
}
}
}
}
public void bingji(int[] a,int[] b){
for(int i=0;ia.length;i++){
System.out.print(a[i]+",");
}
for(int i=0;ib.length;i++){
boolean flag=true;
for(int j=0;ja.length;j++){
if(b[i]==a[j]){
flag=false;
}
}
if(flag){
System.out.print(b[i]+",");
}
}
}
public static void main(String[] args){
int a[]={1,2,3,4,5};
int b[]={4,5,6,7,8};
Group group=new Group();
System.out.print("交集为:");
group.jiaoji(a,b);
System.out.print("\n并集为:");
group.bingji(a,b);
}
}
JAVA怎么取多个List集合的交集?
1、把多个list放到一个list中,生成 ListListObject结构
2、遍历list,使用java8的规约操作,两两求交集
list.stream().reduce((list1,list2) - { list1.retainAll(list2); return list1;}).orElse(emptyList());
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]