A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhao1991 中级黑马   /  2015-8-21 08:58  /  396 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

当程序中用到列表时,该选List的什么实现呢,是ArrayList还是LinkedList,选择的原因又是什么?

6 个回复

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

感谢你的回答
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马