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