在java中怎样实现从一个数组(s1)中剔除与另一个数组(s2)相同的元素

如题所述

方法一:将第一个数组的元素放到哈希表中,将第二个数组的元素也往哈希表中放,通过对比是否相同就可以判定那些元素是否需要保留。
方法二:将第一个数组当做查找源,将第二元素当做查找对象,采用二分查找法,逐个查找存在查找对象。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-08
判断两个数组长度,把长度大的放在循环里面,加两个循环里面的循环判断是否元素相同,如果相同则删除追问

数组怎样实现数组元素的删除,好像没与相关方法吧

追答

可以生成一个新的数组放到里面

追问

非常感谢!

本回答被网友采纳
第2个回答  2013-03-07
源数组 arr
新数组 arr2
排序的数组 arrOther

int k=0;

for(int i=0; i<arr.length; i++){
boolean find=false;
for(int j=0; j<arrOther.length; j++){
if(arrOther[j]==arr[i]){
find=true;
break;

}

}
if(!find){//跳过找到的。

arr2[k]=arr[i];
}

}
第3个回答  2013-03-08
common-lang包有相关方法