将新列添加到矩阵/ 2d数组

时间:2016-07-14 00:36:48

标签: java android arrays matrix element

我知道数组应该在Java中具有恒定数量的元素,但除此之外,数组在这个应用程序中非常好用,所以我不希望使用不同的数据结构。

我的问题似乎是在向2d数组添加新列。到目前为止,我有:

String[][] tempArray = new String[array.length][array.length+1];

然后我将常规数组array的所有元素放在一个额外的列tempArray中。

我似乎无法做的是在某些index的索引处添加一个新列。

我该怎么做?谢谢!

1 个答案:

答案 0 :(得分:1)

数组本质上不是动态的,所以据我所知,你不能为它添加列。您可以做的潜在解决方法是创建另一个包含一个额外列的数组,并将所有值复制到该数组。

    int index = 7;
    String[][] array = new String[5][10];

    String[][] tempArray = Arrays.copyOf(array, array.length + 1); // New array with row size of old array + 1

    tempArray[array.length] = new String[array[index].length]; // Initializing the new row

    for(i=tempArray.length; i>=index; i--)
    {
        tempArray[i] = tempArray[i-1];
    }

    tempArray[index] = new String[array[index].length];

我知道您反对使用任何其他数据结构,但如果您确实改变主意,请考虑使用ArrayList。