数组列表中的参数(整数初始容量)的含义

2022-09-01 16:26:30

参数的含义,我以为是元素的数量,但当我这样做时它不起作用:(int initialCapacity)ArrayList

public class MyClass {
    private ArrayList<Integer> arr;
    public MyClass(int n_elements) {
        arr = new ArrayList<Integer>(n_elements);
    }
}

答案 1

它是初始容量,即从项目的内部存储开始分配的项目数。ArrayList

ArrayList可以包含“任意数量的项目”(只要您有内存),并且在进行大型初始插入时,您可以告诉首先分配更大的存储空间,以免在尝试为下一个项目分配更多空间时浪费CPU周期。ArrayList

例:

ArrayList list = new ArrayList<Integer>(2);
list.add(1); // size() == 1
list.add(2); // size() == 2, list is "filled"
list.add(3); // size() == 3, list is expanded to make room for the third element

答案 2

实际上,它是在后台调整大小之前可以向 中添加多少元素,如果使用得当,可以节省一些周期。ArrayList