LinkedList

Posted 眼泪笑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LinkedList相关的知识,希望对你有一定的参考价值。

1.1.1. LinkedList

--| Iterable

  ----| Collection

 ------| List

      ---------| ArrayList  底层采用数组实现,默认10。每次增长

60%,((oldCapacity * 3)/2 + 1) 查询快,增删慢。

 ---------| LinkedList  底层采用链表实现,增删快,查询慢。         

LinkedList:链表实现, 增删快, 查找慢

由于LinkedList:在内存中的地址不连续,需要让上一个元素记住下一个元素.所以每个元素中保存的有下一个元素的位置.虽然也有角标,但是查找的时候,需要从头往下找,显然是没有数组查找快的.但是,链表在插入新元素的时候,只需要让前一个元素记住新元素,让新元素记住下一个元素就可以了.所以插入很快.

由于链表实现, 增加时只要让前一个元素记住自己就可以, 删除时让前一个元素记住后一个元素, 后一个元素记住前一个元素. 这样的增删效率较高。

但查询时需要一个一个的遍历, 所以效率较低。

 

特有方法

1:方法介绍

            addFirst(E e)

addLast(E e)

getFirst()

getLast()

removeFirst()

removeLast()

如果集合中没有元素,获取或者删除元

素抛:NoSuchElementException

2:数据结构

1:栈 (1.6

先进后出

push() 

pop()

2:队列(双端队列1.5

先进先出

offer()

poll()

3:返回逆序的迭代器对象      

descendingIterator()   返回逆序的迭代器对象

 

以上是关于LinkedList的主要内容,如果未能解决你的问题,请参考以下文章

LinkedList集合

LinkedList集合

LinkedList集合

死磕JDK源码之LinkedList

浅谈LinkedList

Java集合(总结,面试使用)