我该如何去添加两个数组?Java - 将两个数组组合在一起
例如,如果: 阵列1 = [11,33,4] 阵列2 = [1,5,4]
然后将得到的阵列应该是C = [11,33,4,1 ,5,4]。 任何帮助将被赞赏
我该如何去添加两个数组?Java - 将两个数组组合在一起
例如,如果: 阵列1 = [11,33,4] 阵列2 = [1,5,4]
然后将得到的阵列应该是C = [11,33,4,1 ,5,4]。 任何帮助将被赞赏
创建第三个阵列,复制两个数组中它:
int[] result = new int[a.length + b.length];
System.arraycopy(a, 0, result, 0, a.length);
System.arraycopy(b, 0, result, a.length, b.length);
感谢您的回答:) – Steven84 2013-04-30 11:15:07
你可以在Apache Commons Lang中做到这一点。它有一个名为addAll的方法。以下是其描述:
将给定数组的所有元素添加到新数组中。
新数组包含array1的所有元素,后跟所有元素array2。当数组返回时,它总是一个新的数组。
这里是你如何使用它:
combinedArray = ArrayUtils.addAll(array1, array2);
这似乎是一个非常小的功能的外部库的不必要的介绍,不是吗? – raptortech97 2013-04-30 00:40:00
@ raptortech97:不要重新发明轮子。我不在乎车轮是多么简单/似乎。我写了一行长的方法,但仍然存在一个错误。 'ArrayUtils.addAll'比一个手写的'System.arraycopy'测试得更好,它可以完成同样的事情。 – 2013-04-30 01:19:40
声明c
阵列等于两个数组的长度之和的长度。然后使用System.arraycopy
将原始数组的内容复制到新数组中,小心地将它们复制到正确的起始索引处的目标数组中。
这很有效,但我更喜欢我的答案,因为对于Commons Lang,您不必“小心”。 api不会让你犯这个错误。 – 2013-04-30 00:34:30
,因为大小是不是永久性的,我会用一个ArrayList。然后使用一个循环来添加你的数组。
http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html
你有没有试过。如果是,那么请告诉我们,让我们知道你到底遇到了什么问题。 – Smit 2013-04-30 00:32:30
这个问题应该作为一个骗局被锁定。见http://stackoverflow.com/questions/80476/how-to-concatenate-two-arrays-in-java – 2013-04-30 00:59:10