arraylist如何在内部增加其规模?

时间:2013-11-11 07:13:05

标签: .net

有人可以解释一下内部数组列表是如何工作的吗?我的意思是问究竟是怎么回事 数组列表增加长度并添加新项目。内部如何工作?我想要解释内部数组列表如何增加长度和添加新项目。

1 个答案:

答案 0 :(得分:0)

在内部,ArrayList(显然)使用数组来存储值。 List<T>也是如此。

如果您查看EnsureCapacity(int)(和ArrayList)的隐私方法List<T>,当ArrayList不足以容纳List<T>时,您会看到下一项,分配一个新的内部数组,其大小是前一个数组的两倍。执行此操作后,较小数组的内容将复制到新数组。

这些都是实现细节,但你不能确定每个实现都以相同的方式(我猜)。

无论如何,在这种情况下你应该使用{{1}}。它的工作方式与ArrayList相同,但您也具有类型安全性。