1. LinkedList实现了一个带表头双向循环链表;

2. LinkedList是线程不同步的;

3. LinkedList中实现了push、pop、peek、empty等方法,因此LinkedList实现了所有栈的操作,可以被当作栈来使用;

4. LinkedList中实现了offer、peek、element、poll、remove等方法,因此LinkedList实现了所有队列的操作,可以被当作队列来使用;

5. 基于以上的3和4中的实现,LinkedList也可以被当作Deque(双端队列)来使用;

6. 关于LinkedList实现了栈、队列和双端队列,可以参考http://zhangjunhd.blog.51cto.com/113473/69912,其中的实现栈本人觉得写的是对的,但LinkedList中有对应的实现方法,不需要自己写了,直接调用即可(追加:今天看了Thinking in Java中文第四版一书中的“持有对象”一章中发现Bruce
Eckel实现Stack与上面参考文章中是一致的。2016年5月再次追加:看了看LinkedList中的push/pop/peek/empty方法,跟Thinking in Java中实现的Stack中使用的是同样的方法。之所以要单独实现Stack,我想是为了更好的功能专一性和封装性的考虑。);实现队列的方法直接调用了LinkedList中已有的方法。

7. 关于源码分析,请参考:http://blog.csdn.net/jzhf2012/article/details/8540543

8. 其实java的Collection框架中有专门的实现stack、queue和Deque的类(纠正:Thinking in Java中说道:新程序中不应该使用过时的Vector、Hashtable和Stack。),具体知识请参考我的另一篇博客:Java集合类:
Set、List、Map、Queue使用场景梳理

Java的LinkedList详解,看源码之后的总结的更多相关文章

  1. Java SPI机制实战详解及源码分析

    背景介绍 提起SPI机制,可能很多人不太熟悉,它是由JDK直接提供的,全称为:Service Provider Interface.而在平时的使用过程中也很少遇到,但如果你阅读一些框架的源码时,会发现 ...

  2. Android应用AsyncTask处理机制详解及源码分析

    1 背景 Android异步处理机制一直都是Android的一个核心,也是应用工程师面试的一个知识点.前面我们分析了Handler异步机制原理(不了解的可以阅读我的<Android异步消息处理机 ...

  3. Spring Boot启动命令参数详解及源码分析

    使用过Spring Boot,我们都知道通过java -jar可以快速启动Spring Boot项目.同时,也可以通过在执行jar -jar时传递参数来进行配置.本文带大家系统的了解一下Spring ...

  4. 【转载】Android应用AsyncTask处理机制详解及源码分析

    [工匠若水 http://blog.csdn.net/yanbober 转载烦请注明出处,尊重分享成果] 1 背景 Android异步处理机制一直都是Android的一个核心,也是应用工程师面试的一个 ...

  5. 详解ConCurrentHashMap源码(jdk1.8)

    ConCurrentHashMap是一个支持高并发集合,常用的集合之一,在jdk1.8中ConCurrentHashMap的结构和操作和HashMap都很类似: 数据结构基于数组+链表/红黑树. ge ...

  6. 基于双向BiLstm神经网络的中文分词详解及源码

    基于双向BiLstm神经网络的中文分词详解及源码 基于双向BiLstm神经网络的中文分词详解及源码 1 标注序列 2 训练网络 3 Viterbi算法求解最优路径 4 keras代码讲解 最后 源代码 ...

  7. SpringBoot之DispatcherServlet详解及源码解析

    在使用SpringBoot之后,我们表面上已经无法直接看到DispatcherServlet的使用了.本篇文章,带大家从最初DispatcherServlet的使用开始到SpringBoot源码中Di ...

  8. select用法&原理详解(源码剖析)(转)

    今天遇到了在select()前后fd_set的变化问题,查了好久终于找到一个有用的帖子了,很赞,很详细!!原文链接如下: select用法&原理详解(源码剖析) 我的问题是: 如下图示:在se ...

  9. 线程池底层原理详解与源码分析(补充部分---ScheduledThreadPoolExecutor类分析)

    [1]前言 本篇幅是对 线程池底层原理详解与源码分析  的补充,默认你已经看完了上一篇对ThreadPoolExecutor类有了足够的了解. [2]ScheduledThreadPoolExecut ...

  10. 详解 QT 源码之 Qt 事件机制原理

    QT 源码之 Qt 事件机制原理是本文要介绍的内容,在用Qt写Gui程序的时候,在main函数里面最后依据都是app.exec();很多书上对这句的解释是,使 Qt 程序进入消息循环.下面我们就到ex ...

随机推荐

  1. 51nod 1673 树有几多愁

    lyk有一棵树,它想给这棵树重标号. 重标号后,这棵树的所有叶子节点的值为它到根的路径上的编号最小的点的编号. 这棵树的烦恼值为所有叶子节点的值的乘积. lyk想让这棵树的烦恼值最大,你只需输出最大烦 ...

  2. [USACO17FEB]Why Did the Cow Cross the Road I S

    题目描述 Farmer John's cows are trying to learn to cross the road effectively. Remembering the old " ...

  3. 【分解爪UVA11396-二分图染色模板】

    ·Rujia:"稍加推理即可解决该题--" ·英文题,述大意:      一张无向连通图,每个点连有三条边.询问是否可以将这个图分成若干个爪子,并满足条件:①每条边只能属于一个爪子 ...

  4. bzoj3597[Scoi2014]方伯伯运椰子 01分数规划+spfa判负环

    3597: [Scoi2014]方伯伯运椰子 Time Limit: 30 Sec  Memory Limit: 64 MBSubmit: 594  Solved: 360[Submit][Statu ...

  5. poj1681 高斯消元

    Painter's Problem Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 5352   Accepted: 2588 ...

  6. bzoj2006 NOI2010 数据结构+堆维护区间和最大

    2006: [NOI2010]超级钢琴 Time Limit: 20 Sec  Memory Limit: 552 MBSubmit: 3431  Solved: 1686[Submit][Statu ...

  7. (转)Ensemble2015安装

    1 IIS安装和windows系统配置 1.1 IIS安装 检查是否安装好了IIS,可在[管理工具]的[服务管理器]中查看,如下图所示表示安装了IIS.   确认IIS已完全安装,点击上图中的Web服 ...

  8. (转载)总结一下SQL语句中引号(')、quotedstr()、('')、format()在SQL语句中的用法

    总结一下SQL语句中引号(').quotedstr().('').format()在SQL语句中的用法以及SQL语句中日期格式的表示(#).('')在Delphi中进行字符变量连接相加时单引号用('' ...

  9. 春招实习面经分享(已拿到腾讯春招Offer)

    十分幸运地收到了腾讯的Offer..回来报答一下各位牛客网的战友们,说起来也是有点运气成分,最后通过腾讯的内推收到了offer!之前也屡遭重创,阿里的内推一面挂了(寒假过早地投简历,电话面试应对地不太 ...

  10. 从 vCenter Server 使用的数据库中清除旧数据 (2075138)(转)

    Document Id 2075138 Symptoms 免责声明: 本文为 Purging old data from the database used by VMware vCenter Ser ...