java 两个int数组删除重复的数字,并返回删除后的数组

实现一下算法

1、有两个int型数组:int[]a、int[]b

2、int[]b是int[]a的子集:int[] a = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };    int[] b = { 1, 3, 6 };

3、在int[]a中删除b中的数字,并返回:[2, 4, 5, 7, 8, 9]



具体代码如下:考虑了好久


主体方法:


public List<Integer> toRepeat(int[] a, int[] b) {
//将int数组转换成Integer数组
Integer[] A = this.getArrays(a);
Integer[] B = this.getArrays(b);
//调用Arrays.asList将数组转换成列表
List<Integer> aList = Arrays.asList(A);
List<Integer> bList = Arrays.asList(B);
//接下去是重点。将上面两个List转换成ArrayList
List<Integer> acList = new ArrayList<Integer>(aList);
List<Integer> bcList = new ArrayList<Integer>(bList);
//遍历去除重复
for(Integer i : bcList){
   
   if(acList.contains(i)){
acList.remove(i);
   }
}


//getArrays方法


private Integer[] getArrays(int[] a) {


Integer[] A = new Integer[a.length];


for (int i = 0; i < a.length; i++) {


   A[i] = a[i];
}


return A;


    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值