黑马程序员技术交流社区
标题:
ArrayList
[打印本页]
作者:
IT农民工的日常
时间:
2016-4-11 23:42
标题:
ArrayList
ArrayList LinkedList 具体有什么区别?
作者:
xinzhang
时间:
2016-4-12 10:28
ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
作者:
年年
时间:
2016-4-12 12:59
ArrayList底层是数组存储,LinkedList单链表存储。ArrayList插入删除元素慢,LinkedList插入删除元素快,适合场景不一样。
作者:
哦哈哟
时间:
2016-4-12 16:26
首先,你要理解List的共性
List:有序(元素存入集合的顺序和取出的顺序一致),元素都有索引。元素可以重复。
List集合支持对元素的增、删、改、查。
恰好这些四个功能的效果就是ArrayList跟LinkedList的区别体现
然后他的子类:ArrayList,LinkedList,Vector各自的特点。
ArrayList:底层的
数据结构是数组
,线程不同步,ArrayList替代了Vector,查询元素的速度非常快。
LinkedList:底层的
数据结构是链表
,线程不同步,增删元素的速度非常快。
Vector:底层的数据结构就是数组,线程同步的,Vector无论查询和增删都巨慢。(这个除了举枚)
数组结构:
元素:O-O-O-O-O-O-O-O
索引:1 2 3 4 5 6 7 8
如上图,当需要查询的时候直接查询下标既可,效率会更快。但是需要在中间添加或删除的话,添加或删除元素后面的索引下标都需要更改。所以效率会很慢。
链表结构:
元素:
O
-
O
-
O
-
O
-
O
-
O
-
O
索引:各自元素会记住前后是什么元素作为索引。
作者:
追梦de蜗牛2016
时间:
2016-4-12 17:24
都是list集合类的,只不过底层的实现形式不同,
作者:
15614014298
时间:
2016-4-12 20:04
底层的数据结构不同,应用场景也不同。根据需求来判断来用哪个
作者:
lidandan
时间:
2016-4-12 22:13
ArrayList底层数就结构是数组,查询修改快
LinkedList底层数据结构是链表,查询慢,增删快
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2