`
cheer_nice
  • 浏览: 103170 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JDK源码学习- LinkedList

    博客分类:
  • j2se
JDK 
阅读更多
public class LinkedList<E>
    extends AbstractSequentialList<E>
    implements List<E>, Deque<E>, Cloneable, java.io.Serializable

 

 private transient Entry<E> header = new Entry<E>(null, null, null);  //队列的头部

 public LinkedList() {   //默认构造函数  空的队列 只有一个头!
        header.next = header.previous = header;
}

 

LinkedList 使用 private static class Entry<E> {
 E element;
 Entry<E> next;
 Entry<E> previous; 存储元素,双向循环链表

 

private Entry<E> entry(int index) {  这个函数将给定的位置值 找到具体对应的Entry  为了提高效率 size>>1 返回 整 个队列的中间位置 然后根据index的相对位置来决定从前还是从后找
        if (index < 0 || index >= size)
            throw new IndexOutOfBoundsException("Index: "+index+
                                                ", Size: "+size);
        Entry<E> e = header;
        if (index < (size >> 1)) {
            for (int i = 0; i <= index; i++)
                e = e.next;
        } else {
            for (int i = size; i > index; i--)
                e = e.previous;
        }
        return e;
}

 

 

此外 ,LinkedList里面还有两个private class 来充当 Iterator 迭代器 

private class DescendingIterator implements Iterator  反向的!

private class ListItr implements ListIterator<E>
 
分享到:
评论

相关推荐

    javajdk源码学习-JavaSourceLearn:JDK源码学习

    jdk源码学习 JavaSourceLearn 版本号 版本 corretto-1.8.0_275 方式 逐步阅读源码添加注释、notes文件夹添加笔记 计划学习任务计划 标题为包名,后面序号为优先级1-4,优先级递减 java.lang Object 1 String 1 ...

    javajdk源码学习-JavaSourceLearn:jdk源码学习

    在Java编程领域,深入理解JDK源码是提升技能的关键步骤。"JavaSourceLearn"项目致力于帮助开发者探索和学习JDK的源代码,这将使我们能够更好地理解Java语言的工作原理,提高问题解决能力,以及优化代码性能。下面,...

    javajdk源码学习-java-source-code:JavaJDK源代码学习笔记

    Java JDK源码学习是每一位Java开发者深入理解平台工作原理、提升编程技能的重要步骤。这个学习笔记将主要聚焦于Java的核心库和虚拟机实现,通过分析源代码,我们可以更清晰地了解Java的内部机制。 首先,Java JDK...

    javajdk源码学习-javaSource:JDK源码学习

    源码学习可以帮助我们更好地理解Java的底层机制,优化代码性能,甚至进行二次开发。 首先,我们关注的是"系统开源"这一标签。这意味着我们可以访问到JDK的源代码,这是由OpenJDK项目实现的。OpenJDK是一个开放源...

    jdk源码 jdk源码

    Java Development Kit (JDK) 源码是学习和理解Java平台核心机制的关键资源。...通过深入阅读JDK源码,开发者不仅可以增强对Java语言特性的理解,还能提高解决实际问题的能力,这对于成为一名优秀的Java开发者至关重要。

    java-jdk源码学习

    Java JDK源码学习是深入理解Java编程语言的关键步骤,它能帮助开发者洞悉语言底层的工作原理,提升编程技能和优化代码的能力。JDK(Java Development Kit)是Java开发的核心工具集,包含了Java运行时环境(JRE)、...

    javajdk1.8源码-Java-source-reading:jdk1.8源代码分析

    缓慢更新一些个人学习java相关源码过程中的笔记,在这里你将不可避免地看到以下情况: 个别不懂/没想好的地方留空待补全 限于个人水平出现的解读错误 编辑错误 排版不统一 如发现有错,欢迎指正! 如果对你有用,...

    JDK源码,整合所有内容

    **JDK源码详解** JDK(Java Development Kit)是Oracle公司发布的用于开发Java应用程序的软件开发工具包,其中包含了Java运行环境、编译器、类库以及各种工具。JDK1.8版本是Java历史上的一个重要里程碑,引入了许多...

    JDK源码选读

    通过源码学习,我们可以掌握如何通过反射创建对象、调用方法、访问字段,以及动态代理的实现。 8. **异常处理**:JDK中的`java.lang.Throwable`类是所有异常的基类,源码分析能让我们了解异常的层次结构和捕获、...

    jdk1.6 源码jdk1.6 源码

    例如,`java.util.concurrent`包在并发编程中提供了高级工具,如线程池、锁和并发集合,通过源码可以学习到它们的内部工作机制。 3. **异常处理**:源码中展示了如何使用try-catch-finally结构来捕获和处理异常,...

    javajdk源码-java.util_source_learning:学习JDK源代码

    在JDK源码中,`java.util`包涵盖了许多关键类和接口,如ArrayList、LinkedList、HashMap、HashSet、Queue、Comparator等。这些类和接口构成了Java的核心数据结构和算法基础。例如: 1. **ArrayList**: 是一个基于...

    jdk-learning-project:jdk原始码学习

    1. **Java核心类库理解**:学习JDK源码可以帮助我们理解ArrayList、HashMap、LinkedList等常用数据结构的实现,以及Thread、ExecutorService等并发编程相关的类。 2. **内部机制揭秘**:例如,深入理解垃圾回收...

    jdk-learning:部分jdk源码学习

    在Java开发领域,深入理解JDK源码对于提升编程技能和优化代码至关重要。"JDK-learning"项目聚焦于对JDK的部分源码进行学习和分析,旨在帮助开发者更好地了解Java运行机制,从而在实际工作中能够更加得心应手。 ...

    jdk-源码.rar

    《深入解析Java JDK源码》 Java JDK源码是Java开发者深入理解平台底层运作机制、提升编程技艺的重要参考资料。这份名为"jdk-源码.rar"的压缩包包含了丰富的Java开发工具包(Java Development Kit)的源代码,让我们...

    java源码之jdk源码

    通过对JDK源码的学习,开发者可以了解到Java语言的底层机制,提升编程技能,更好地解决实际问题。以下将详细探讨Java源代码和JDK源码中的关键知识点。 1. **类加载器(ClassLoader)**: - 类加载器负责查找和加载...

    jdk1.6源码

    《深入解析JDK1.6源码》 JDK(Java Development Kit)是Java开发工具集,其中包含了Java运行环境、编译器以及各种API。...尽管JDK已更新至更高版本,但JDK1.6源码的学习仍然是开发者不可忽视的一环。

    jdk1.8 sun源码

    这个"jdk1.8 sun源码"压缩包很可能包含了这些未公开的Sun Microsystems的源代码,使得开发者有机会深入研究Java平台的内部工作原理,这对于进行底层优化、理解和调试Java程序有着极大的帮助。然而,值得注意的是,...

    jdk-src-code:JDK原始阅读项目

    JDK源码是Java开发人员深入理解Java平台工作原理的重要资源。"jdk-src-code:JDK原始阅读项目" 提供了完整的OpenJDK源代码,这是一套开放源代码的Java Development Kit,由Oracle公司维护并遵循GPLv2许可协议。通过...

    LinkedList源码学习分析

    《LinkedList源码学习分析》 LinkedList作为Java集合框架中的一员,是基于链表数据结构实现的线程不安全容器。本文将深入探讨LinkedList的实现原理、核心方法的代码实现,并对比ArrayList,理解其特性和使用场景。 ...

    javajdk源码-JDK_SourceCode:jdk

    Java JDK源码是Java开发工具包的原始代码,对于深入理解Java语言的工作原理以及进行高级编程和优化至关重要。源码包含了Java平台的核心类库,如`java.lang`, `java.util`, `java.io`, `java.nio`等,这些库提供了...

Global site tag (gtag.js) - Google Analytics