转自:
List
在Collection中,List集合是有序的,Developer可对其中每个元素的插入位置进行精确地控制,可以通过索引来访问、遍历元素。
List集合中,常用的是ArrayList和LinkedList这两个类。其中,ArrayList底层通过数组实现,随着元素的增加而动态扩容。而LinkedList底层通过链表来实现,随着元素的增加不断向链表的后端增加节点。
特点
-
有序:可以保证元素放入的顺序。
通过给每个元素编号,可以通过索引的方式来操作这个集合。
-
List中可以包含重复的元素。
-
List可以添加null元素,而且可以添加多个null元素
下文笔者讲述ArrayList和LinkedList的区别,如下所示
ArrayList和LinkedList区别:
1.底层存储不同
ArrayList底层采用数组存储
LinkedList底层采用双向链表存储
2。访问方式不同
ArrayList使用下标访问,速度非常快
LinkedList无法使用随机访问,所以查询速度不快
3.效率不同
ArrayList的时间复杂度为 O(1)
LinkedList的时间复杂度为 O(n)