阅读 162

每日一更系列003-Java知识点之LinkedList

定义

链表使用链式存储,逻辑上相同的元素与对应的物理存储位置并没有一定关系,通过指针来表示逻辑结构, LinkedList是List接口链表的实现

数据结构

image.png

LinkedList是由很多这样的节点构成,其中: ☞ prev存储的是上一个节点的引用 ☞ item存储的是具体内容 ☞ next存储的是下一个节点的引用

image.png

1.LinkedList是一个继承于AbstractSequentialList的双向链表。它也可以被当做堆栈、队列或者双端队列进行操作

2.LinkedList实现List接口,能对它进行队列操作。

3.LinkedList实现了Deque接口,即能将LinkedList当做双端队列使用。

4.LinkedList实现了Cloneable接口,即覆盖了函数clone(),能克隆。

5.LinkedList实现java.io.Serializable接口,LinkedList支持序列化,能通过序列化去传输。

6.LinkedList是非同步的[2]。

【注2】在这里的非同步指的是,当使用线程的时候,对于这个集合对象进行操作,那么不同的线程所获取的这个集合对象是不同的.所以是说不同步,在多线程的形式是不安全的.

面试知识点

查找

通过下标获取某个node 的时候,(add select),会根据index处于前半段还是后半段 进行一个折半,以提升查询效率

image.png

源码以后补上 blog.nowcoder.net/n/a0684e20c…

文章分类
Android
文章标签