java 求三个数组的交集
Double[]arrayA=newDouble[]{d1,d2,d3,d4,d5};Double[]arrayB=newDouble[]{dd1,dd2,dd3,dd4...
Double[] arrayA = new Double[]{d1,d2,d3,d4,d5};
Double[] arrayB = new Double[]{dd1,dd2,dd3,dd4,dd5};
Double[] arrayC = new Double[]{ddd1,ddd2,ddd3,ddd4,ddd5};//括号内均表示数字
求这三个数组的交集并输出结果 展开
Double[] arrayB = new Double[]{dd1,dd2,dd3,dd4,dd5};
Double[] arrayC = new Double[]{ddd1,ddd2,ddd3,ddd4,ddd5};//括号内均表示数字
求这三个数组的交集并输出结果 展开
4个回答
展开全部
其实可以参考一楼的。
// 求两个数组的交集
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);
}
// 求两个数组的交集
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);
}
追问
谢谢你的回答,但是运行上出现了些问题不知道怎么解决
展开全部
List<Object> list=new ArrayList<Object>();
for(Object o:array1){
if(Arrays.asList(array2).contains(o)&&Arrays.asList(array3).contains(o)){
list.add(o);
}
}
return list.toArray();
这我也是查的,不过不错哦 ,脑袋转的真快,
for(Object o:array1){
if(Arrays.asList(array2).contains(o)&&Arrays.asList(array3).contains(o)){
list.add(o);
}
}
return list.toArray();
这我也是查的,不过不错哦 ,脑袋转的真快,
更多追问追答
追问
是的,我也查到了这个
不过return出来的是object[],我想输出的是double形式
这之间的转换是个问题
追答
我去,中转换不是很简单吗 ~~
你把所有的 object 改成double 就可以了
转都不用转
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-09-21
展开全部
转化成list,再用循环list遍历判断
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
HashMap<double, int> hm = new HashMap<double, int>();
doing(arrayA, hm);
doing(arrayB, hm);
doing(arrayC, hm);
Iterator iter = hm.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
int val = Integer.parseInt(entry.getValue());
if( val == 3){
System.out.println(key);
}
}
function void doing(double array, HashMap<double, int> hm){
for(int i=0; i<array.length; i++){
if(!hm.containsKey(array[i]))
hm.put(array[i], 1);
else
hm.put(array[i], hm.get(array[i]) + 1);
}
}
doing(arrayA, hm);
doing(arrayB, hm);
doing(arrayC, hm);
Iterator iter = hm.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
int val = Integer.parseInt(entry.getValue());
if( val == 3){
System.out.println(key);
}
}
function void doing(double array, HashMap<double, int> hm){
for(int i=0; i<array.length; i++){
if(!hm.containsKey(array[i]))
hm.put(array[i], 1);
else
hm.put(array[i], hm.get(array[i]) + 1);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询