如何更改静态数组的大小?

时间:2014-04-27 01:43:40

标签: java arrays static size

我需要更改静态数组的大小。

我有:

static int ca [][] = { {45},
                       {0},
                       {45},
                       {0} };

并尝试:

ca[][] = new int[5][5];

4 个答案:

答案 0 :(得分:2)

您无法更改数组的大小。如果您想要相同的功能但能够更改大小,请使用arraylist。对于int的arraylist:

ArrayList<Integer> myList = new ArrayList<Integer>();

答案 1 :(得分:1)

您可以创建一个类似于此的辅助函数:

static int[][] ca ={ {45}, 
                      {0},
                     {45},
                      {0} };

public static void main(String[] args) {
    ca = increaseSize(ca, 5, 5);
}

public static int[][] increaseSize(int[][] array, int rowSize, int colSize) {
    if (array.length <= rowSize && array[0].length <= colSize) {
        int temp[][] = new int[rowSize][colSize];
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[0].length; j++) {
                temp[i][j] = array[i][j];
            }
        }
        return temp;
    }
    return null;
}

答案 2 :(得分:0)

你不容易。如果需要调整数组大小,请使用ArrayList。这是一个例子:

ArrayList list = new ArrayList<Object>();
list.add(obj);
Object obj2 = list.get(index);

&#34;对象&#34;可以替换为任何类或数据类型。查看文档以获取更多信息。

答案 3 :(得分:0)

我建议使用ArrayList或Vector。添加最后一个元素时,向量不会使自身的大小加倍,与ArrayList不同。