将新列添加到 matrix/2d 数组

Adding a new column to a matrix/2d array

我知道数组在 Java 中应该有固定数量的元素,但除此之外,数组在这个应用程序中为我提供了很好的服务,所以我不希望使用不同的数据结构。

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

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

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

我似乎无法做的是在某些 index.

的索引处添加一个新列

我该怎么做?谢谢!

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

    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。