在内部,ArrayList
(显然)使用数组来存储值。对于List<T>
.
如果您查看(and ) 的私有方法EnsureCapacity(int)
,您会发现,当不足以容纳下一项时,会分配一个新的内部数组,该数组的大小是前一个数组的两倍。完成此操作后,较小数组的内容被复制到新数组中。ArrayList
List<T>
ArrayList
不过,这些都是实现细节,您不能确定每个实现都以相同的方式进行(我猜)。
无论如何,您应该List<T>
在这种情况下使用。它的工作方式与 ArrayList 相同,但您也具有类型安全性。