集合之LinkedList
2016-04-11 11:31
204 查看
LinkedList实现List接口,并且实现了接口中的所有方法,这个操作可以作为一个栈来使用,同时也实现Deque接口,实现了add,poll方法可以为一个队列。内部是使用带头结点的循环双向链表。
结构如下图:
![](https://img-blog.csdn.net/20160411105601534?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
类的继承实现关系
![](https://img-blog.csdn.net/20160411105820376?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
内部类Entry的结构
![](https://img-blog.csdn.net/20160411105958320?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
部分方法源码剖析
add(E e)
![](https://img-blog.csdn.net/20160411111030896?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](https://img-blog.csdn.net/20160411111046725?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](https://img-blog.csdn.net/20160411111135164?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
添加一个元素的过程。
![](https://img-blog.csdn.net/20160411111921197?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
getFirst()
![](https://img-blog.csdn.net/20160411112041025?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
getLast()
![](https://img-blog.csdn.net/20160411112120307?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
remove(E e)
![](https://img-blog.csdn.net/20160411112237319?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
remove(Object)与上面的不同
![](https://img-blog.csdn.net/20160411112440057?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
get(index)
![](https://img-blog.csdn.net/20160411112819202?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](https://img-blog.csdn.net/20160411112839747?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
另外里面还有push,pop方法
![](https://img-blog.csdn.net/20160411113107998?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](https://img-blog.csdn.net/20160411113112795?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
以上都是基于JDK1.6
结构如下图:
类的继承实现关系
内部类Entry的结构
部分方法源码剖析
add(E e)
添加一个元素的过程。
getFirst()
getLast()
remove(E e)
remove(Object)与上面的不同
get(index)
另外里面还有push,pop方法
以上都是基于JDK1.6
相关文章推荐
- 怎么实现EDIUS底屏游走字幕的制作
- EOF中空格和tab的问题
- 群—深入
- ios后台长时间运行
- JAVA 回调机制(callback)
- 【python】python for data analysis环境安装
- Python陷阱:tuple与Nonetype
- Java 改进简单加法器实现(代码精简)
- kvm 虚拟化 virsh shutdown 无法关闭客户机
- 排序算法之冒泡排序和选择排序
- 关于学习的一些思考
- CSS hack 技术
- WebKit for Developers
- MySQL5.7.11免安装版的安装和配置:解决MYSQL 服务无法启动问题
- android shape的使用
- [综合] 为什么要使用Unix时间戳
- 高通msm8994启动流程简介
- 高通msm8994启动流程简介
- 基础 HTML之目录问题(相对路径和绝对路径区别)
- hdu1597(二分查找)