Java中ArrayList的用法问题

2025-01-03 20:17:35
推荐回答(4个)
回答1:

List _testList = new ArrayList<>(255);是指制定一个指定初始容量的列表
当容量超过255时仍可以添加
如果知道最大长度确实要比直接定义好些
因为这样节省了为列表动态分配空间的处理时间和过度分配的内存空间

回答2:

arraylist内部使用数组来进行元素维护,默认这个数组的初始化长度是10,如果通过add方法添加新的元素,同时让minicapcity的值加一,如果minicapcity大于当前数组容量,则生成一个新的数组,这个数组的长度是当前数组长度的1.5倍+1和minicapcity之间的较大值。

回答3:

第一个集合使用默认长度10;第二个使用自定义长度255;
如果元素超过已知容量,就会重新动态分配:按照(旧值*3)/2 +1公式算得。
假如你使用默认长度10,那么下次重新分配之后就会变成16。

回答4: