Java里面如何求两个集合的交集

Python017

Java里面如何求两个集合的交集,第1张

用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]

虽然想尽量维持你程序的原型,但是还是改的差不多了。学java注重的是面向对象的思想,建议你不要把太多精力放在这些算法上面,不能再像学习C语言那样学习java。

public class Group{

public void jiaoji(int[] a,int[] b){

for(int i=0i<a.lengthi++){

for(int j=0j<b.lengthj++){

if(a[i]==b[j]){

System.out.print(a[i]+",")

}

}

}

}

public void bingji(int[] a,int[] b){

for(int i=0i<a.lengthi++){

System.out.print(a[i]+",")

}

for(int i=0i<b.lengthi++){

boolean flag=true

for(int j=0j<a.lengthj++){

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)

}

}