ArrayList和LinkedList有什么不同呢?

转自:

ArrayList和LinkedList有什么不同呢?

List

在Collection中,List集合是有序的,Developer可对其中每个元素的插入位置进行精确地控制,可以通过索引来访问、遍历元素。

List集合中,常用的是ArrayList和LinkedList这两个类。其中,ArrayList底层通过数组实现,随着元素的增加而动态扩容。而LinkedList底层通过链表来实现,随着元素的增加不断向链表的后端增加节点。

特点

  1. 有序:可以保证元素放入的顺序。

    通过给每个元素编号,可以通过索引的方式来操作这个集合。

  2. List中可以包含重复的元素。

  3. List可以添加null元素,而且可以添加多个null元素


    下文笔者讲述ArrayList和LinkedList的区别,如下所示

ArrayList和LinkedList区别:
    1.底层存储不同
	  ArrayList底层采用数组存储
	  LinkedList底层采用双向链表存储
	 
	2。访问方式不同
	  ArrayList使用下标访问,速度非常快
	  LinkedList无法使用随机访问,所以查询速度不快
	
	3.效率不同
	  ArrayList的时间复杂度为 O(1)
	  LinkedList的时间复杂度为 O(n)

你可能感兴趣的:(java,java)