当前位置: 代码迷 >> Java相关 >> java 怎么从一个数组减去另外一个数组的元素
  详细解决方案

java 怎么从一个数组减去另外一个数组的元素

热度:37   发布时间:2016-04-22 20:58:35.0
java 如何从一个数组减去另外一个数组的元素?
本帖最后由 amwrrkype3 于 2014-09-29 11:22:02 编辑
比如 a ={1,1,2,2,2,3,3,4,5,6};b = {1,2,3};  

怎么从数组a中减去数组b

得到数组c = {1,2,2,3,4,5,6}         ?

求解答
------解决思路----------------------
循环,对比,removeAt();
------解决思路----------------------
引用:
Quote: 引用:

循环比较 有相等的 就移除 
这是最简单粗暴的方法···
看看有更效率的不


这个方法试过了,以a,b数组为例  
a ={1,1,2,2,2,3,3,4,5,6};b = {1,2,3};  

循环比较 有相等的 就移除 ,2个数组的都移除就ok了
得出的数组c={4,5,6};

我想要的结果是得到数组c = {1,2,2,3,4,5,6} 的方法

------解决思路----------------------
引用:
Quote: 引用:

减去的是第一次出现的还是最后出现或者怎样的?


那就来个直接点的,循环比较,如果有相等的就删除并且退出本次循环,这样删除的就是第一次出现的
简单粗暴的

String a[] = {"1","1","1","2","2","3","4"};
String b[] = {"1","1","2"};
List list1 = Arrays.asList(a);
List arrList = new ArrayList(list1);
for(int i=0;i<b.length;i++){
for(int j=0;j<a.length;j++){
if(a[j]==b[i]){
arrList.remove(b[i]);
break;
}
}
}
System.out.println(Arrays.toString(arrList.toArray()));
------解决思路----------------------
引用:
Quote: 引用:

循环比较 有相等的 就移除 
这是最简单粗暴的方法···
看看有更效率的不


这个方法试过了,以a,b数组为例  
a ={1,1,2,2,2,3,3,4,5,6};b = {1,2,3};  
循环比较 有相等的 就移除 
得出的数组c={4,5,6};

我想要的结果是得到数组c = {1,2,2,3,4,5,6} 的方法


那是你的方法有问题啊 移除1个1以后 你就不要把第二个1移除了