`
mixer_a
  • 浏览: 341811 次
社区版块
存档分类
最新评论

深度剖析Java数据结构之表(四)——LinkedList泛型类的实现

 
阅读更多

在Java中,LinkedList泛型类继承了AbstractSequentialListf泛型类,实现了List、Deque、Colneable和Serializable接口,定义如下:

该类的实现使用的是循环链表的结构,我们知道,一个链表的主要标志就是表头,所以一个LinkedList泛型类中一定要有一个头结点,链表的组成元素是结点,所以还需要在该类中定义一个结点的内部类,当然,也可以在外面定义,为了实现更好的封装性,定义成private的内部类是再好不过的了。

下面是定义的头结点和内部结点类:

在定义header的时候,使用了一个transient修饰符,在Java中,被该修饰符修饰的变量在串行化的时候(序列化)的时候,不会序列化该变量。因为一个链表,如果需要串行化,我们需要的信息只是结点中的信息,所以头结点可以定义成一个被transient修饰的变量。同时还定义了一个size变量,用来保存链表的长度,同样,它也应该使用transient修饰符。

下面是定义的结点类Entry类:


一个结点除了要保存数据之外,还应该保存它的后继(单项链表),由于该类提供一些操作,需要向前遍历,所以还需要有一个保存前驱的信息,即privious引用。

下面是LinkedList泛型类中的listIterator()方法:

还有一些操作,主要是对引用的修改。在此不一一列出了。

分享到:
评论

相关推荐

    链表+泛型+反射实现自定义的LinkedList集合类

    该资源利用基础的链表结构,结合泛型和反射的知识点,实现重写LinkedList集合类,可以存放任意类型数据。比较推荐对Java有稳固基础的同学来阅读,为了方便阅读,代码的注释写的非常的清楚

    java中LinkedList集合类实现栈和队列.doc

    java中LinkedList集合类实现栈和队列.docjava中LinkedList集合类实现栈和队列.docjava中LinkedList集合类实现栈和队列.docjava中LinkedList集合类实现栈和队列.docjava中LinkedList集合类实现栈和队列.doc

    详解Java 集合系列(三)—— LinkedList

    主要介绍了Java 集合系列(三)—— LinkedList,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Java LinkedList 双向链表实现原理

    相信大家都明白 LinkedList 是基于双向链表而实现的,本篇文章主要讲解一下双向链表的实现,并且我们参考 LinkedList 自己实现一个单链表尝试一下。 什么是链表? 简单的来讲一下什么是链表:首先链表是一种线性的...

    链表类LinkedList的完全c++实现

    链表类LinkedList的完全c++实现,根据数据结构与算法课堂总结。

    Java数据结构与算法中的源代码和applet - 站长下载

    书名:数据结构Java版 图书编号:2086963 出版社:清华大学 定价:118.0 ISBN:730213544 作者:(美)福特(Ford,W.H.),(美)托普(Topp,W.R.) 著,梁志敏 译 出版日期:2006-11-11 版次: 开本: 简介: 本书...

    清华妹子的Java仓库(进阶学习路线)

    本仓库记录了我的Java学习进阶之路,涵盖了Java基础、JDK源码、JVM中的重要知识,附有代码和博客讲解,旨在提供一个Java在线共享学习平台,帮助更多的Java学习入门者进阶。 Java学习 本仓库记录了我的Java学习进阶...

    Java 中Linkedlist类的源代码

    Java 中Linkedlist类的源代码Java 中Linkedlist类的源代码Java 中Linkedlist类的源代码Java 中Linkedlist类的源代码

    javalist数据结构-Java数据结构-------List.pdf

    javalist数据结构_Java数据结构-------List 三种List:ArrayList,Vector,LinkedList 类继承关系图 ArrayList和Vector通过数组实现,⼏乎使⽤了相同的算法;区别是ArrayList不是线程安全的,Vector绝⼤多数⽅法做了...

    用Java实现模拟双向循环链表LinkedList

    这是自己写的一个Java实现模拟数据结构中的LinkedList。实现其简单的添加节点功能

    数据结构与算法分析_Java语言描述(第2版)]

    表、栈和队列3.1 抽象数据类型3.2 表ADT3.2.1 表的简单数组实现3.2.2 简单链表3.3 JavaCollectionsAPI中的表3.3.1 Collection接口3.3.2 Iterator接口3.3.3 List接口、ArrayList类和LinkedList类3.3.4 例:remove...

    LinkedList的实现.zip

    数据结构,LinkedList在c++的实现,一共有三个头文件:Link.h 、List.h 、LinkedList。

    数据结构与算法分析Java语言描述(第二版)

    表、栈和队列3.1 抽象数据类型3.2 表ADT3.2.1 表的简单数组实现3.2.2 简单链表3.3 JavaCollectionsAPI中的表3.3.1 Collection接口3.3.2 Iterator接口3.3.3 List接口、ArrayList类和LinkedList类3.3.4 例:remove...

    数据结构与算法分析_Java语言描述(第2版)

    《数据结构与算法分析:Java语言描述(第2版)》是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具讨论了数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计)。...

    数据结构与程序设计15linkedlist.ppt

    数据结构与程序设计15linkedlist.ppt

    Python数据结构实战——链表(LinkedList)

    文章目录1.定义结点类2.定义链表类2.1.打印整个链表2.2.获取链表长度2.3.链表头部插入元素2.4.链表尾部插入元素2.5.链表任意位置插入元素2.6.链表任意位置删除元素2.7.链表中插入一堆数据2.8....class LinkedList:

    常见数据结构的Java实现

    常见数据结构的Java实现 例子1 import java.util.*; public class Example13_1 { public static void main(String args[]) { List list=new LinkedList(); list.add("is"); list.add("a"); int number=list....

    DataStructureJava:主要数据结构——java中的简单实现

    数据结构Java 主要数据结构——java中的简单实现如何使用集合:-> JDK(Java集合)-> Guava(谷歌)-> Commons-collections(Apache) 主要抽象数据结构——ADS列表(ArrayList、LinkedList、Vector)栈(FIFO)队列...

    Java用LinkedList实现的Stack

    栈是先进先出的原则,该类实现了栈的移入移除

Global site tag (gtag.js) - Google Analytics