❶ 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);
}
❷ 再问一下关于:java中两个数组的交集怎么求
交集不就是元素相同吗,两个for循环一个一个比较
❸ 在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]
❹ java 求交集 并集 差集
import java.util.*;
public class ArrayTest {
public static void main(String[] args) {
int[] a = {1,6,4,5,2,3,};
int[] b = {2,3,4,56,7,8,99};
int[] t = ArrayTest.并集(a, b);
for(int i:t)System.out.print(i+" ");
System.out.println();
t = ArrayTest.交集(a, b);
for(int i:t)System.out.print(i+" ");
}
static int[] 并集(int[] a,int[] b){
Arrays.sort(a);
Arrays.sort(b);
int[] t = new int[a.length];
System.array(a,0,t,0,t.length);
out:
for(int i:b){
for(int j:a){
if(i==j)continue out;
}
t=putInt(t,i);
}
Arrays.sort(t);
return t;
}
static int[] 交集(int[] a,int[] b){
Arrays.sort(a);
Arrays.sort(b);
int[] t = new int[0];
for(int i:a){
for(int j:b){
if(i==j){
t=putInt(t,i);
break;
}
}
}
return t;
}
static int[] putInt(int[] a,int i){
int[] t = new int[a.length+1];
System.array(a, 0,t,0,a.length);
t[a.length]=i;
return t;
}
}
//做了交集,并集,差集自己想吧
❺ java程序,给定的两个数组求交集,我知道用两个 for循环可以得到这些数
publicclassIntersection{
publicstaticvoidmain(String[]args){
//给定两个数组
int[]as={1,5,8,9,4,6};
int[]bs={5,7,3,2};
//记录相同的元素(String类型方便下面判断)
String[]cs=newString[as.length>bs.length?as.length:bs.length];//长度不超过上麦年量数组中最大长度
//循环比较
for(inti=0;i<as.length;i++){
intflag=0;//有相同元素标记
for(intj=0;j<bs.length;j++){
if(bs[j]==as[i]){
flag=flag+1;
}
}
intplace=0;//记录cs数组已经有几个元素
for(Stringj:cs){
place=0;
if(j!=null&&j!=""){
place=place+1;
}
}
if(flag!=0){
cs[place]=as[i]+"";
}
}
//循环输出交集数组
for(Stringi:cs){
if(i!=null){
System.out.println(i);
}
}
}
}
❻ 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]
❼ JAVA求两个数组交集中元素的个数
import java.util.Scanner;
public class JiaoJi {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int set1_length=in.nextInt();
int set1[]=new int[set1_length];
for(int count1=0;count1<set1_length;count1++) {
set1[count1]=in.nextInt();
}
int set2_length=in.nextInt();
int set2[]=new int[set2_length];
int number=0;
for(int count2=0;count2<set2_length;count2++) {
set2[count2]=in.nextInt();
for (int count1=0; count1<set1_length;count1++) {
if(set1[count1]==set2[count2]) number++;
}
}
in.close();
if (number==0) System.out.println("None");
else System.out.println(number);
}
}