黑马程序员技术交流社区

标题: 选择List什么实现好呢? [打印本页]

作者: zhao1991    时间: 2015-8-21 08:58
标题: 选择List什么实现好呢?
当程序中用到列表时,该选List的什么实现呢,是ArrayList还是LinkedList,选择的原因又是什么?

作者: 史柯    时间: 2015-8-21 09:37
选择ArrayList吧。
ArrayList查询快,一般项目里面用到查询都比增删快。
ArrayList底层是数组,所以查询快。
LinkedList底层是链表,所以增删快。
开发中一般用ArrayList
作者: yuZhe_toString    时间: 2015-8-21 12:30
没有特殊使用场景 一般都选择ArrayList
作者: zhangcheng0403    时间: 2015-8-21 12:58
ArrayList的底层结构是数组,所以查询的速度比较快,如果在数组中增加或删除元素后面所有元素的角标都要重新排列,如果数据量大的话,速度比较慢。
LinkedList的底层结构式链表,其中的每一个元素只保留前一个元素和后一个元素的信息,要要查询只能一次遍历,不灵活,所以查询速度慢,如果插入或删除元素只需要改变前一个元素的尾信息和前一个元素的头信息,变动比较小,所以增删速度快。
选择哪个集合可以根据集合的特点,如果其中元素增删频繁,建议使用LinkList,如果增删操作少,使用ArrayList就好了,开发当中一般都使用ArrayList,因为很少对集合种元素有增删操作。
作者: 千山万水    时间: 2015-8-21 13:59
通常情况下用arraylist
作者: fantianfei    时间: 2015-8-21 13:59
一楼回答了
作者: zhao1991    时间: 2015-8-22 08:48
zhangcheng0403 发表于 2015-8-21 12:58
ArrayList的底层结构是数组,所以查询的速度比较快,如果在数组中增加或删除元素后面所有元素的角标都要重 ...

感谢你的回答




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2