【问题标题】:Adding a new column to a matrix/2d array向矩阵/二维数组添加新列
【发布时间】:2023-04-05 23:34:01
【问题描述】:

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

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

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

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

我似乎不能做的是在一些index 的索引处添加一个新列。

我该怎么做呢?谢谢!

【问题讨论】:

    标签: java android arrays matrix element


    【解决方案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。

    【讨论】:

    • 这就是我想做的;将值移到更大的数组中。我需要一种算法将所有数字移到数组的右侧,以便为中间的一些空列腾出空间。
    • 您希望index 位置的新列为空?还是希望最后一列为空?
    • 是的,我希望新的空列位于 index 的位置。
    • 检查编辑@26hmkk。如果这对你不起作用,请告诉我。
    猜你喜欢
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    • 2015-03-03
    • 2020-03-19
    • 1970-01-01
    • 1970-01-01
    • 2016-02-02
    • 2021-06-17
    相关资源
    最近更新 更多