如果我有两个阵列。
int[] one;
int[] two;
我希望将这两个数组添加到单个数组中以最简单的方式,这意味着 `int [] combine = //我能在这做什么?
答案 0 :(得分:3)
int [][] A={{1,2,4},{2,4,5},{2,4,4}};
int [][] B={{3,5,4},{0,1,9},{6,1,3}};
int i,j;
int [][] C=new int[3][3];
int X=A.length;
for(i=0; i<X; i++)
{for(j=0; i<X; i++)
{
C[i][j]=A[i][j]+B[i][j];
}
}
for(i=0; i<X; i++)
{
for(j=0; j<X; j++){
System.out.print(C[i][j]+" ");
}
System.out.println();
}
答案 1 :(得分:2)
使用Apache Commons Lang库中的ArrayUtils:
int[] combine = ArrayUtils.addAll(one, two);
http://commons.apache.org/lang/api-2.5/org/apache/commons/lang/ArrayUtils.html#addAll(int[], int[])
答案 2 :(得分:2)
使用ArrayUtils
class方法addAll
将给定数组的所有元素添加到新数组中。新数组包含array1的所有元素,后跟所有元素数组2。返回数组时,它始终是一个新数组。
ArrayUtils.addAll(array1,array2);
<强>返回:强>
新的int[] array
答案 3 :(得分:1)
int[] one = new int[]{1, 2, 3, 4, 5};
int[] two = new int[]{3, 7, 8, 9};
int[] result = new int[one.length + two.length];
System.arraycopy(one, 0, result, 0, one.length);
System.arraycopy(two, 0, result, one.length, two.length);
System.out.println("Arrays.toString(result) = " + Arrays.toString(result));
答案 4 :(得分:1)
这是执行此操作的一个选项...
int[] combine= new T[one.length+two.length];
System.arraycopy(one, 0, combine, 0, one.length);
System.arraycopy(two, 0, combine, one.length, two.length);
答案 5 :(得分:1)
试试这个:
int [][] A={{1,2,4},{2,4,5},{2,4,4}};
int [][] B={{3,5,4},{0,1,9},{6,1,3}};
int i,j;
int [][] C=new int[3][3];
int X=A.length;
int y=B.length;
for(i=0; i<X; i++)
{
for(j=0; i<Y; i++)
{
C[i][j]=A[i][j]+B[i][j];
}
}
for(i=0; i<X; i++)
{
for(j=0; j<X; j++)
{
System.out.print(C[i][j]+" ");
}
System.out.println();
}
答案 6 :(得分:0)
试试这个:
int size1 = one.length;
int size2 = two.length;
int[] three = new int[size1 + size2];
for(int i = 0; i < one.length; i++)
three[i] = one[i];
for(int i = two.length; i < one.length + two.length; i++)
three[i] = one[i];
答案 7 :(得分:0)
int[] combined = new int[one.length()+two.length()];
for(int i=0; i<one.length(); ++i){
combined[i] = one[i];}
for(int i=one.length(); i<combined.length(); ++i){
combined[i] = two[i-one.length()];
}
代码未经测试。 请注意,您可以通过展开length()方法进行一些优化。
答案 8 :(得分:-1)
int[] combinedArrays = new int[one.length + two.length];
int index = 0;
for (int i : one) {
combinedArarys[index] = one[i];
index++;
}
for (int i : two) {
two[index] = two[i];
index++;
}