JAVA将一个数组分开后命名新数组_将两个数组列表合并到一个新的数组列表中,在Java中没有重复和顺序...

我试图“组合”两个数组列表,产生一个新的arrayList包含所有的数字在两个组合的arrayList,但没有任何重复的元素,他们应该是有序的。我想出了以下代码。我跑过它,它对我有意义,但我不知道如果我可以使用以比较arrayList中的get(i)的值。我将array1中的所有元素添加到plusArray。然后,我将通过plusArray并将其与array2进行比较,以查看array2的任何元素是否存在于plusArray中。如果他们做我我什么都不做,但如果他们不,那么我试图添加它在正确的位置。也许我的嵌套for循环使用不正确?注意:ArrayList是用户按照增加的顺序预分配的。

ArrayList plusArray = new ArrayList();

for(int i = 0; i < array1.size(); i++){

plusArray.add(array1.get(i));

}

for(int i = 0; i < plusArray.size(); i++){

for(int j = 0; j < array2.size(); j++){

if(array2.get(j) < plusArray.get(i)){

plusArray.add(i,array2.get(j));

}

else if(plusArray.get(i).equals(array2.get(j))){

;

}

else if(array2.get(j) > plusArray.get(i)){

plusArray.add(i, array2.get(j));

}

}

更新:我没有得到下面的异常了。相反,它似乎程序永远运行。我改变了添加元素的位置在条件。

///

这里是当我的数组列表是:

IntSet 1:{1 2}

IntSet 2:{1 3 4}

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

at java.util.Arrays.copyOf(Unknown Source)

at java.util.Arrays.copyOf(Unknown Source)

at java.util.ArrayList.grow(Unknown Source)

at java.util.ArrayList.ensureCapacityInternal(Unknown Source)

at java.util.ArrayList.add(Unknown Source)

at IntSet.plus(IntSet.java:92)

at IntSetDriver.main(IntSetDriver.java:61)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值