ArrayList带参创建对象为什么 initialCapacity 的值一直是 1


  //创建ArrayList集合对象
        ArrayList<String> list =new ArrayList<>(18);

img

我试了一下,发现可能是因为ide在进行类加载的过程中触及到了List元素内部的初始化过程,导致你看到的断点显示为1的数值。

img

你可以试着调整下测试代码的顺序,你会发现还没有进入到new ArrayList(2)的时候,其实此时已经需要额外加载List了。

img

1.并不是一直是1,当你跳过18次后,第19次会显示18
2.这个参数是在设定集合的容量