我有两个数组我想在One.But中添加两个数组怎么样?

时间:2011-11-16 09:49:44

标签: java

如果我有两个阵列。

int[] one; int[] two;

我希望将这两个数组添加到单个数组中以最简单的方式,这意味着   `int [] combine = //我能在这做什么?

9 个答案:

答案 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++;
}