Java基础复习------集合 LinkedList
2016-03-22 00:00
513 查看
1.LinkedList 实际上是一个双向链表
extends AbstractSequentialList<E>
implements List<E>, Deque<E>, Cloneable, java.io.Serializable
内部使用Node 节点 存储,包含该节点前一个节点引用和后一个节点引用
![](http://static.oschina.net/uploads/space/2016/0322/195112_PhrG_1028135.png)
LinkedList 会保存该List的第一个节点和最后一个节点;transient 表示序列化时不对该字段进行处理
![](http://static.oschina.net/uploads/space/2016/0322/195307_HePK_1028135.png)
Deque<E> 双向列表 extends Queue<E> 单向列表 Deque<E> 双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行。
![](http://static.oschina.net/uploads/space/2016/0322/201138_imnM_1028135.png)
Queue<E> 它只允许在表的前端(front)进行删除操作,而在表的后端(tail)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头
![](http://static.oschina.net/uploads/space/2016/0322/201216_HMtD_1028135.png)
LinkedList实现的队列操作 Queue 先进先出
![](http://static.oschina.net/uploads/space/2016/0322/201311_OYOf_1028135.png)
add 在LinkedList末尾添加新的元素E
offer 在LinkedList末尾添加新的元素E 内部调用add
![](http://static.oschina.net/uploads/space/2016/0322/201608_AlHK_1028135.png)
remove 移除LinkedList第一个元素
![](http://static.oschina.net/uploads/space/2016/0322/202036_GXUW_1028135.png)
poll 获取并移除第一个元素
![](http://static.oschina.net/uploads/space/2016/0322/202208_E6WX_1028135.png)
element 获取第一个元素,但是不移除
![](http://static.oschina.net/uploads/space/2016/0322/202301_xOhz_1028135.png)
peek 获取第一个元素,但是不移除
![](http://static.oschina.net/uploads/space/2016/0322/202516_yUfp_1028135.png)
LinkedList实现的双端队列操作
![](http://static.oschina.net/uploads/space/2016/0322/202823_kNI0_1028135.png)
offerFirst 在此列表的开头插入指定的元素
![](http://static.oschina.net/uploads/space/2016/0322/203237_Islb_1028135.png)
offerLast 在此列表的末尾插入指定的元素
![](http://static.oschina.net/uploads/space/2016/0322/203548_ET0o_1028135.png)
peekFirst 获取但不移除此列表的第一个元素;如果此列表为空,则返回 null。
![](http://static.oschina.net/uploads/space/2016/0322/203825_nE5g_1028135.png)
peekLast 获取但不移除此列表的最后一个元素;如果此列表为空,则返回 null。
![](http://static.oschina.net/uploads/space/2016/0322/203847_PQTU_1028135.png)
pollFirst 获取并移除此列表的第一个元素;如果此列表为空,则返回 null。
![](http://static.oschina.net/uploads/space/2016/0322/203908_FGAL_1028135.png)
pollLast 获取并移除此列表的最后一个元素;如果此列表为空,则返回 null。
![](http://static.oschina.net/uploads/space/2016/0322/203935_aP40_1028135.png)
LinkedList实现的堆栈操作
push 入栈,将元素推入此列表所表示的堆栈。
![](http://static.oschina.net/uploads/space/2016/0322/204409_kgK0_1028135.png)
pop 出栈,将元素移除
![](http://static.oschina.net/uploads/space/2016/0322/204346_Krkw_1028135.png)
extends AbstractSequentialList<E>
implements List<E>, Deque<E>, Cloneable, java.io.Serializable
内部使用Node 节点 存储,包含该节点前一个节点引用和后一个节点引用
![](http://static.oschina.net/uploads/space/2016/0322/195112_PhrG_1028135.png)
LinkedList 会保存该List的第一个节点和最后一个节点;transient 表示序列化时不对该字段进行处理
![](http://static.oschina.net/uploads/space/2016/0322/195307_HePK_1028135.png)
Deque<E> 双向列表 extends Queue<E> 单向列表 Deque<E> 双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行。
![](http://static.oschina.net/uploads/space/2016/0322/201138_imnM_1028135.png)
Queue<E> 它只允许在表的前端(front)进行删除操作,而在表的后端(tail)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头
![](http://static.oschina.net/uploads/space/2016/0322/201216_HMtD_1028135.png)
LinkedList实现的队列操作 Queue 先进先出
![](http://static.oschina.net/uploads/space/2016/0322/201311_OYOf_1028135.png)
add 在LinkedList末尾添加新的元素E
offer 在LinkedList末尾添加新的元素E 内部调用add
![](http://static.oschina.net/uploads/space/2016/0322/201608_AlHK_1028135.png)
remove 移除LinkedList第一个元素
![](http://static.oschina.net/uploads/space/2016/0322/202036_GXUW_1028135.png)
poll 获取并移除第一个元素
![](http://static.oschina.net/uploads/space/2016/0322/202208_E6WX_1028135.png)
element 获取第一个元素,但是不移除
![](http://static.oschina.net/uploads/space/2016/0322/202301_xOhz_1028135.png)
peek 获取第一个元素,但是不移除
![](http://static.oschina.net/uploads/space/2016/0322/202516_yUfp_1028135.png)
LinkedList实现的双端队列操作
![](http://static.oschina.net/uploads/space/2016/0322/202823_kNI0_1028135.png)
offerFirst 在此列表的开头插入指定的元素
![](http://static.oschina.net/uploads/space/2016/0322/203237_Islb_1028135.png)
offerLast 在此列表的末尾插入指定的元素
![](http://static.oschina.net/uploads/space/2016/0322/203548_ET0o_1028135.png)
peekFirst 获取但不移除此列表的第一个元素;如果此列表为空,则返回 null。
![](http://static.oschina.net/uploads/space/2016/0322/203825_nE5g_1028135.png)
peekLast 获取但不移除此列表的最后一个元素;如果此列表为空,则返回 null。
![](http://static.oschina.net/uploads/space/2016/0322/203847_PQTU_1028135.png)
pollFirst 获取并移除此列表的第一个元素;如果此列表为空,则返回 null。
![](http://static.oschina.net/uploads/space/2016/0322/203908_FGAL_1028135.png)
pollLast 获取并移除此列表的最后一个元素;如果此列表为空,则返回 null。
![](http://static.oschina.net/uploads/space/2016/0322/203935_aP40_1028135.png)
LinkedList实现的堆栈操作
push 入栈,将元素推入此列表所表示的堆栈。
![](http://static.oschina.net/uploads/space/2016/0322/204409_kgK0_1028135.png)
pop 出栈,将元素移除
![](http://static.oschina.net/uploads/space/2016/0322/204346_Krkw_1028135.png)
相关文章推荐
- 蜂窝教育Java培训带领学员迈向成功之路
- java反射
- 记Struts2版本升级Struts 2.3.25
- 【JMS 4】spring 整合activemq
- Spring通过配置文件注入bean
- java synchronized VS volatile
- Java遍历删除
- Spring整合JMS(一)——基于ActiveMQ实现
- Java并发编程:volatile关键字解析
- 40个Java多线程问题总结
- Maven新建项目更改默认JDK版本
- 从头认识java-特辑-foreach在java里面两种实现原理总结
- 学java时遇到的一些小问题
- JAVA 基础 final关键字
- Java对象的序列化和反序列化
- java基础学习02(简单的java程序)
- SpringBoot配置log4j输出日志
- 3.20 JAVA
- String.getBytes()& JAVA编码转换的详细过程
- java——基础02