前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >*LinkedList实现原理及源码学习(JDK 1.8.0)*

*LinkedList实现原理及源码学习(JDK 1.8.0)*

原创
作者头像
一半是我
修改2020-04-10 10:15:41
5840
修改2020-04-10 10:15:41
举报
文章被收录于专栏:Java学习INGJava学习ING

*LinkedList实现原理及源码学习(JDK 1.8.0)*

说明:LinkedList类的继承关系

图-1
图-1

注:LinkedList的底层结构是双向链表

(1)继承自抽象类AbstractSequentialList(而AbstractSequentialList又继承自AbstractList);

(2)实现了List接口,具有List的基本功能;

(3)实现了Deque接口,故可以用作双向队列;

(4)实现了Clonable接口,可以被克隆;

(5)实现了Serializable接口,可以被序列化。

一、LinkedList的主要属性

图-1.1
图-1.1

附:链表中的组成元素——结点(Node)

图-1.2
图-1.2

二、LinkedList的构造方法(2种)

图-2.1
图-2.1

三、LinkedList的常用方法

1.获取元素值的方法

图-3.1.1
图-3.1.1

2.删除元素的方法

图-3.2.1
图-3.2.1
图-3.2.2
图-3.2.2
图-3.2.3
图-3.2.3
图-3.2.4
图-3.2.4
图-3.2.5
图-3.2.5

3.添加元素的方法

图-3.3.1
图-3.3.1
图-3.3.2
图-3.3.2
图-3.3.3
图-3.3.3
图-3.3.4
图-3.3.4
图-3.3.5
图-3.3.5
图-3.3.6
图-3.3.6
图-3.3.7
图-3.3.7
图-3.3.8
图-3.3.8
图-3.3.9
图-3.3.9
图-3.3.10
图-3.3.10

附:node(int index)方法的其他应用

图-3.3.11
图-3.3.11
图-3.3.12
图-3.3.12
图-3.3.13
图-3.3.13

4.获取指定元素索引的方法

图-3.4.1
图-3.4.1
图-3.4.2
图-3.4.2

5.队列中的一些方法(LinkedList也可被用作队列)

图-3.5.1
图-3.5.1
图-3.5.2
图-3.5.2
图-3.5.3
图-3.5.3
图-3.5.4
图-3.5.4
图-3.5.5
图-3.5.5
图-3.5.6
图-3.5.6
图-3.5.7
图-3.5.7
图-3.5.8
图-3.5.8

6.迭代器(从列表中指定位置开始,返回此列表中元素的列表迭代器)

(常用方法)

图-3.6.1
图-3.6.1

7.其他方法

图-3.7.1
图-3.7.1
图-3.7.2
图-3.7.2
图-3.7.3
图-3.7.3

四、小结LinkedList特点

(1)LinkedList的底层结构为双向链表,将零散的内存单元通过附加的引用关联起来体现出其顺序性,相比数组的连续空间存储,链表对内存的利用率更高;

(2)有序:插入元素的顺序和取出顺序一致;

(3)可重复:可以插入相同的元素(元素值也允许为null);

(4)插入、删除操作效率高,和ArrayList恰恰相反,按索引查找效率较低;

(5)线程不安全:没有线程锁,多个线程同步进行写操作的时候可能导致数据错误;

(6)使用场景:不会随机访问数据,更多的插入删除操作,更少的查询读取操作。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • *LinkedList实现原理及源码学习(JDK 1.8.0)*
    • 说明:LinkedList类的继承关系
      • 一、LinkedList的主要属性
        • 二、LinkedList的构造方法(2种)
          • 三、LinkedList的常用方法
            • 1.获取元素值的方法
            • 2.删除元素的方法
            • 3.添加元素的方法
            • 4.获取指定元素索引的方法
            • 5.队列中的一些方法(LinkedList也可被用作队列)
            • 6.迭代器(从列表中指定位置开始,返回此列表中元素的列表迭代器)
          • 四、小结LinkedList特点
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档