怎么用简洁的方法找出两个数组中不同的元素? 只有循环了吧!你用Vector会简捷一些的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的思路:1、把数组转成vector2、善用vector中的方法removeAll和addAll,详细的看api。 List listA = Arrays.asList(objArrayA);List listB = Arrays.asList(objArrayB);再用retainAll() orremoveAll()去运算//还不如自己写个类 String[] array1=new String[]{"1","2","3","5"};String[] array2=new String[]{"2","3","4","6","7"};String[] arrayMax = array1.length>array2.length?array1:array2;String[] arrayMin = array1.length<array2.length?array1:array2;Vector vec = new Vector();HashSet set = new HashSet();for(int i=0; i<arrayMax.length; i++){ set.add(arrayMax[i]);}for(int i=0; i<arrayMin.length; i++){ if(!set.add(arrayMin[i])) vec.addElement(arrayMin[i]);}最后vec就是你想要的。 我又看了一下HashSet的源代码。发现它用了HashMap,HashMap还是要一个一个比较,这样饶了好大一个弯。看来我上面的代码反倒弄巧成拙。你还是两个数组双重循环吧。不过我觉得HashSet至少能过滤某一个数组中相同的元素。 谢谢大家了。 xhh(霹雳游侠) 返回的vec好像是两个数组中相同的元素。看来似乎循环还简单些。 正则表达式匹配的问题 如何快速判断一串数字中连零的个数。 注:不能用循环 谢谢 用Java读取read卡的属性 200分,求助高手,java虚拟机错误!!!! 关于apache commons mail的问题 在线等!!!!!!!! 想开发一套java的即时通讯工具,希望有经验的朋友来坐坐 JTable点击列标题触发的事件 怎样做数据群发的进度条??? 就是一个短信群发的进度条?? 100分!!!!! 关于btree 和 hash 交作业了,哪位GGJJ能提供个仓库管理程序的代码,谢了先,^_^ 初级问题,分很好那 啊,啊,救命啦!!!
1、把数组转成vector
2、善用vector中的方法removeAll和addAll,详细的看api。
List listB = Arrays.asList(objArrayB);再用
retainAll() or
removeAll()
去运算//还不如自己写个类
String[] array2=new String[]{"2","3","4","6","7"};
String[] arrayMax = array1.length>array2.length?array1:array2;
String[] arrayMin = array1.length<array2.length?array1:array2;
Vector vec = new Vector();
HashSet set = new HashSet();
for(int i=0; i<arrayMax.length; i++){
set.add(arrayMax[i]);
}
for(int i=0; i<arrayMin.length; i++){
if(!set.add(arrayMin[i]))
vec.addElement(arrayMin[i]);
}
最后vec就是你想要的。
发现它用了HashMap,HashMap还是要一个一个比较,这样饶了好大一个弯。
看来我上面的代码反倒弄巧成拙。
你还是两个数组双重循环吧。
不过我觉得HashSet至少能过滤某一个数组中相同的元素。