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

深度剖析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编程技巧,特别是对于理解和处理复杂数据结构以及提高代码灵活性是非常有价值的。同时...

    数据结构与问题求解——java语言描述 源码

    在Java中,这些数据结构可以通过内置类如ArrayList、LinkedList、Stack、Queue、HashSet和HashMap等来实现。例如,`Graph.java`文件很可能包含了图的实现,可能包括邻接矩阵或邻接表等表示方法,以及图的遍历算法如...

    数据结构与算法答案——java语言描述

    本资料集是“数据结构与算法答案——java语言描述”,虽然全为英文内容,但其深入探讨了使用Java实现数据结构和算法的细节。 1. **数组**:数组是最基本的数据结构之一,它是一系列相同类型元素的集合,可以通过索...

    数据结构与算法分析——Java语言描述

    在Java中,实现这些数据结构和算法时,我们通常会利用其内置的类库,如`java.util.ArrayList`、`java.util.LinkedList`、`java.util.Stack`、`java.util.Queue`等,它们为我们提供了方便的数据结构实现。同时,Java...

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

    在Java编程语言中,LinkedList集合类是一个非常重要的数据结构,它可以用来实现栈和队列这两种特殊的数据结构。LinkedList是一个双链表,每个节点包含数据元素和两个引用,分别指向前后节点,这使得在列表中进行插入...

    Java集合框架及泛型

    Java集合框架是Java编程语言中一个非常重要的组成部分,它提供了一组高效的数据结构和操作这些数据结构的方法。泛型则是Java在J2SE 5.0版本引入的一个特性,极大地提高了代码的类型安全性和可读性。下面我们将深入...

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

    Java 集合系列——LinkedList Java 集合系列中的 LinkedList 是一种可以在任何位置进行高效地插入和删除操作的有序序列。它的最基本存储结构是一个节点:每个节点将存储对象,以及前后节点的引用。结构图中,我们...

    关于java基础的泛型的练习

    Java泛型是Java SE 5.0引入的一个重要特性,它极大地增强了代码的类型安全...在进行"关于Java基础的泛型的练习"时,可以尝试编写不同的泛型类、泛型方法,体验泛型带来的便利,并理解其背后的类型系统和类型擦除机制。

    java泛型的内部原理及更深应用

    Java泛型是Java编程语言中的一个强大特性,它允许在定义类、接口和方法时使用类型参数,从而实现参数化类型。这使得代码更加安全、可读性更强,并且能够减少类型转换的必要。在“java泛型的内部原理及更深应用”这个...

    第14章元素增删检索——集合与泛型.ppt

    《第14章元素增删检索——集合与泛型》主要涵盖了Java编程中关于集合框架和泛型的重要概念,这是理解和高效使用Java集合类库的关键。以下是对这些知识点的详细阐述: 1. **集合框架与泛型**: - 集合框架是一套...

    java数据结构(老外那版,翻译的)

    《Java数据结构(老外那版,翻译的)》是一本专门为Java程序员设计的数据结构教程,它以清晰易懂的方式介绍了各种重要的数据结构概念。这本书是初学者的优秀选择,特别是对于那些偏好Java语言,不熟悉C++的人来说,...

    java 1.5泛型详解

    泛型是Java语言中的一种参数化类型,它允许在定义类、接口和方法时使用类型参数,从而实现数据类型的模板化。通过泛型,我们可以创建可重复使用的组件,这些组件能在处理不同数据类型时保持一致的行为,同时确保编译...

    C#泛型与集合,数据结构的应用

    本主题将深入探讨C#中的泛型、集合、迭代器以及数据结构的应用,这些都是软件开发中的核心概念。 首先,泛型是C#中一个强大的特性,它允许我们在不指定具体类型的情况下编写代码。这样可以提高代码的重用性,减少...

    Java泛型技术之发展

    Java泛型技术的发展历程及其在JDK1.4中的实现,是IT领域特别是软件开发与设计中的一个重要里程碑。本文将深入探讨泛型技术的概念、历史背景、与其它编程概念的区别,以及其在Java语言中的具体应用。 ### 泛型技术...

    数据结构 ——java语言描述 源代码

    在Java编程中,数据结构的实现是通过类和对象来完成的,这使得Java成为学习和实践数据结构的理想选择。本资料集合主要关注的是将数据结构的概念用Java语言具体实现,由知名作者朱站立编著,清华大学出版社出版。 1....

    java泛型技术之发展

    - **集合框架**:ArrayList、LinkedList、HashSet、HashMap等都支持泛型,可以指定存储的数据类型。 - **自定义容器**:开发者可以创建自己的泛型容器类,提高代码的灵活性。 - **泛型接口**:例如Comparator接口...

    java 多态的泛型实现

    在Java编程语言中,多态性是面向对象设计的核心特性之一,它允许我们使用一个接口来引用不同的对象,使得代码更加灵活和可扩展。而泛型则是Java在JDK 5.0引入的一个强大特性,它允许我们在编译时检查类型安全,并且...

    java泛型集合 java集合 集合 java Collection

    Java集合框架是一个包含多种数据结构(如列表、集、队列等)的API,这些数据结构由接口(如`Collection`、`List`、`Set`和`Queue`)和实现这些接口的类(如`ArrayList`、`HashSet`和`LinkedList`)组成。`Collection...

    JAVA数据结构实验报告

    在Java中,数据结构通常通过类或接口来实现,例如ArrayList、LinkedList、HashMap等。 二、Java内置数据结构 1. 数组:是最基本的数据结构,提供了固定大小的连续内存空间。Java中可以直接使用数组类型,例如int[]...

Global site tag (gtag.js) - Google Analytics