众所周知List在内存中是连续存储的,所以索引速度是非常快的,对于元素的修改和赋值也是非常方便的,但是list有个缺点就是固定长度,在声明的时候必须指定长度,如果长度过长会造成内存的浪费,如果长度过短则会溢出,而且对于元素的插入也是非常麻烦的,所以就有了ArrayList。ArrayList的大小是根据元素的多少进行动态的扩展或缩小的,所以ArrayList是不需要指定长度的,而且ArrayList继承自List接口,所以对于元素的插入、移除、修改也是非常方便的。但是ArrayList也是有缺点的,因为它会把所有添加进来的元素当成object,所以对于不同类型的元素没有区分,这样在进行数据处理的时候会出现类型不匹配的错误,就算我们很小心的插入同类型数据,我们在处理的时候也要转换成对应的原类型数据,所以就会出现装箱拆箱的可能,会造成很大的性能消耗。
List与ArrayList的区别
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一.线性表 定义:零个或者多个元素的有限序列。也就是说它得满足以下几个条件: ①该序列的数据元素是有限的。 ②...
- 数组在C#中是最早出现的。它在内存中是连续的存储的,所以索引速度很快,而且赋值与修改元素也很简单。可以利用偏移地...