数组是一种低级数据结构,基本上映射到内存中的某个区域.An ArrayList是一个可变长度列表,实现object为在列表增长时重新分配的数组.
ArrayList 因此,与管理内部数组的大小相关的一些开销,以及在访问列表时将对象转换为正确类型相关的更多开销.
此外,存储所有内容object意味着值类型在写入时被装箱,在读取时被取消装箱,这对性能极为不利.使用List<T>类似但强类型的可变大小列表可以避免此问题.
事实上,自.NET 2.0以来,ArrayList它实际上已被弃用了List<T>.