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};//括号内均表示数字
求这三个数组的交集并输出结果
展开
 我来答
五音天下秩匦Cve99
2015-09-21 · 超过16用户采纳过TA的回答
知道答主
回答量:92
采纳率:0%
帮助的人:37.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);
}
追问
谢谢你的回答,但是运行上出现了些问题不知道怎么解决
zouqi8023fuyan
2015-09-21 · TA获得超过199个赞
知道小有建树答主
回答量:444
采纳率:75%
帮助的人:143万
展开全部
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();

这我也是查的,不过不错哦 ,脑袋转的真快,
更多追问追答
追问
是的,我也查到了这个
不过return出来的是object[],我想输出的是double形式
这之间的转换是个问题
追答
我去,中转换不是很简单吗 ~~
你把所有的 object 改成double 就可以了
转都不用转
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-09-21
展开全部
转化成list,再用循环list遍历判断
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kb_mathew
2015-09-21
知道答主
回答量:9
采纳率:100%
帮助的人:3.5万
展开全部
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);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式