溫馨提示×

java數組能進行動態擴容嗎

小樊
118
2024-11-15 22:52:16
欄目: 編程語言

是的,Java數組可以進行動態擴容。在Java中,數組的大小是固定的,但我們可以使用System.arraycopy()方法或者ArrayList等容器類來實現動態擴容。

如果你想直接操作數組并實現動態擴容,可以使用System.arraycopy()方法。這個方法可以將一個數組的元素復制到另一個數組中,如果目標數組的大小不足以容納所有源數組中的元素,那么目標數組會自動擴容。以下是一個簡單的示例:

public class DynamicArray {
    public static void main(String[] args) {
        int[] array = new int[3];
        array[0] = 1;
        array[1] = 2;
        array[2] = 3;

        System.out.println("Original array: " + java.util.Arrays.toString(array));

        // 動態擴容數組
        array = resizeArray(array, 5);

        System.out.println("Resized array: " + java.util.Arrays.toString(array));
    }

    public static int[] resizeArray(int[] originalArray, int newSize) {
        if (newSize < 0) {
            throw new IllegalArgumentException("New size must be non-negative");
        }

        int[] newArray = new int[newSize];
        System.arraycopy(originalArray, 0, newArray, 0, Math.min(originalArray.length, newSize));

        return newArray;
    }
}

然而,在實際開發中,我們通常使用ArrayList等容器類來實現動態擴容,因為它們提供了更簡單、更高效的方法來處理動態數組。以下是使用ArrayList的示例:

import java.util.ArrayList;

public class DynamicArray {
    public static void main(String[] args) {
        ArrayList<Integer> arrayList = new ArrayList<>();
        arrayList.add(1);
        arrayList.add(2);
        arrayList.add(3);

        System.out.println("Original ArrayList: " + arrayList);

        // 動態擴容ArrayList
        arrayList.add(4);

        System.out.println("Resized ArrayList: " + arrayList);
    }
}

在這個示例中,我們使用ArrayList來存儲整數,當需要添加更多元素時,ArrayList會自動擴容。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女