我知道数组应该在Java中具有恒定数量的元素,但除此之外,数组在这个应用程序中非常好用,所以我不希望使用不同的数据结构。
我的问题似乎是在向2d数组添加新列。到目前为止,我有:
String[][] tempArray = new String[array.length][array.length+1];
然后我将常规数组array
的所有元素放在一个额外的列tempArray
中。
我似乎无法做的是在某些index
的索引处添加一个新列。
我该怎么做?谢谢!
答案 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。