找出两个数组的交集 [英] Finding the intersection of two arrays
本文介绍了找出两个数组的交集的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的目标是找出数组a和b路口值,并将其存储到一个新的数组c使打印输出将是:3,10,4,8。我该如何分配给定的值到3数组c?
公共静态无效的主要(字串[] args){
诠释一个[] = {3,10,4,2,8};
INT [] B = {10,4,12日,3,23,1,8};
INT [℃;
INT I = 0;
对于(INT F = 0; F<则为a.length;˚F++){
对于(INT K = 0; K< b.length个; k ++){
如果(一个并[f] == B〔K]){
//这里应该是存储阵列2(A,B)到数组c的值相等的线
}
}
}
为(中间体X = 0; X&下; c.length; X ++){
的System.out.println(C [I]);
}
}
}
解决方案
这应该是一个简单的方法来做到。
int类型的[] = {3,10,4,2,8};
INT [] B = {10,4,12日,3,23,1,8};
清单<整数GT; ALIST = Arrays.asList(一);
清单<整数GT; bList = Arrays.asList(B);
aList.retainAll(bList);
的System.out.println(一个路口B+ ALIST);
INT [] C = aList.toArray(新INT [0]);
My aim is to find out values of intersection of arrays a and b and store them into a new array c so the printout will be : 3,10,4,8. How do I assign given values to a 3rd array c ?
public static void main(String[] args) {
int a[] = {3, 10, 4, 2, 8};
int[] b = {10, 4, 12, 3, 23, 1, 8};
int[] c;
int i=0;
for(int f=0;f<a.length;f++){
for(int k=0;k<b.length;k++){
if(a[f]==b[k]){
//here should be a line that stores equal values of 2 arrays(a,b) into array c
}
}
}
for (int x=0; x<c.length; x++){
System.out.println(c[i]);
}
}
}
解决方案
This should be an easy way to do.
int a[] = {3, 10, 4, 2, 8};
int[] b = {10, 4, 12, 3, 23, 1, 8};
List<Integer> aList = Arrays.asList(a);
List<Integer> bList = Arrays.asList(b);
aList.retainAll(bList);
System.out.println(" a intersection b "+aList);
int[] c = aList.toArray(new int[0]);
这篇关于找出两个数组的交集的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文