java集合(十) ---- LinkedList 类

目录

[十、LinkedList 类](#十、LinkedList 类)

[10.1 位置](#10.1 位置)

[10.2 特点](#10.2 特点)

[10.3 与 ArrayList 的区别](#10.3 与 ArrayList 的区别)

[10.4 构造方法](#10.4 构造方法)

[10.5 常用方法](#10.5 常用方法)


十、LinkedList 类

10.1 位置

LinkedList 类位于 java.util 包下

10.2 特点

  1. 是 List 接口的实现类
  2. 是 Deque 接口的实现类
  3. 底层使用双向循环链表结构

10.3 与 ArrayList 的区别

  1. ArrayList 类底层是数组,线性顺序存储。LinkedList 类底层是链表结构,非连续、非顺序存储
  2. ArrayList 类适合用于查询多的地方。LinkedList 类适合用于增删多的地方

10.4 构造方法

|----|------------------------------------------------|
| | public LinkedList() |
| 作用 | 创建一个空的 LinkedList 对象 |
| ||
| | public LinkedList(Collection<? extends E> c) |
| 作用 | 创建一个包含指定集合 c 的 LinkedList 对象 |

10.5 常用方法

|-----|-----------------------------------------------------------------------------------|
| | public void addFirst(E e) |
| | public boolean offerFirst(E e) |
| 方法名 | addFirst() offerFirst() |
| 作用 | 将指定元素插入到当前集合的开头 |
| ||
| | public void addLast(E e) |
| | public boolean offer(E e) |
| | public boolean offerLast(E e) |
| 方法名 | addLast() offer() offerLast() |
| 作用 | 将指定元素插入到当前集合的结尾 |
| 注意 | 此方法等效于 add(E e) |
| ||
| | public E getFirst() |
| | public E peekFirst() |
| 方法名 | getFirst() peekFirst() |
| 作用 | 获取当前集合的第一个元素 |
| ||
| | public E getLast() |
| | public E peekLast() |
| 方法名 | getLast() peekLast() |
| 作用 | 获取当前集合的最后一个元素 |
| ||
| | public E removeFirst() |
| | public E pollFirst() |
| 方法名 | removeFirst() pollFirst() |
| 作用 | 移除并返回当前集合的第一个元素 |
| ||
| | public E removeLast() |
| | public E pollLast() |
| 方法名 | removeLast() pollLast() |
| 作用 | 移除并返回当前集合的最后一个元素 |
| ||
| | public boolean removeFirstOccurrence(Object o) |
| 方法名 | removeFirstOccurrence() |
| 作用 | 从当前集合中移除第一次出现的指定元素 |
| ||
| | public boolean removeLastOccurrence(Object o) |
| 方法名 | boolean removeLastOccurrence() |
| 作用 | 从当前集合中移除最后一次出现的指定元素 |
| ||
| 说明一 | 其他常用方法参考 List 接口 |
| 说明二 | 链表不存在索引。但是可以调用 get(index) 来获取指定索引上的元素。这是因为 LinkedList 类在底层提供了一个 LisItr 内部类来提供索引 |


相关推荐
小小数媒成员9 分钟前
UGUI原理(一)
开发语言·游戏·unity·游戏引擎
速易达网络29 分钟前
Three.js 动画入门教学:从场景搭建到流畅动效
开发语言·javascript·ecmascript
福大大架构师每日一题33 分钟前
excelize v2.11.1发布:Go 1.26.0起步,16项安全修复与嵌入对象能力全面升级
开发语言·安全·golang
Sarvartha35 分钟前
集合概述 & Collection 接口
开发语言
雪芽蓝域zzs38 分钟前
第 1 章:IDEA 创建 SpringBoot3.5.16 Maven 项目
java·maven·intellij-idea
golang学习记1 小时前
IDEA 开始换芯,发布全新AI版终端
java·人工智能·intellij-idea
vipxieliang1 小时前
ValidX 正则表达式预编译优化:Pattern 复用策略
java·spring boot·后端
lhbweilai1 小时前
QT项目(串口助手)
开发语言·qt
eggwyw1 小时前
C++相交链表和反转链表详解
开发语言·c++
Wang's Blog1 小时前
Java 项目实战:交友项目 - FastDFS 工作原理
java·大数据·交友