调整数组大小

Java中数组一旦创建,其大小不可修改,所以数组的扩缩容必须新建一个数组,然后将原来数组的元素复制到新数组中,最后返回新数组即可,然后在调用处用原来数组的引用指向新数组即可。如下:

public static int[] resize(int[] arr, int newSize) {
    int[] newArr = new int[newSize];
    for (int i = 0; i < arr.length - 1; i++) {
        newArr[i] = arr[i];
    }
    return newArr;
}

 简单用例:

public static void main(String[] args) {
    int[] arr = {1, 2, 3};
    arr = resize(arr, 5);
    System.out.println(arr.length); // 打印数组长度,结果为5
}

 调整数组大小在实际业务中很少使用,如果需要建议直接使用 JDK 自带的数组复制工具,例如 java.util.Arrays.copyOf(original, newLength) 方法。

原文地址:https://www.cnblogs.com/weix-l/p/14417535.html