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 内部类来提供索引 |


相关推荐
wjs20242 小时前
状态模式(State Pattern)
开发语言
我命由我123452 小时前
Kotlin 数据容器 - List(List 概述、创建 List、List 核心特性、List 元素访问、List 遍历)
java·开发语言·jvm·windows·java-ee·kotlin·list
liulilittle2 小时前
C++ TAP(基于任务的异步编程模式)
服务器·开发语言·网络·c++·分布式·任务·tap
励志要当大牛的小白菜3 小时前
ART配对软件使用
开发语言·c++·qt·算法
武子康4 小时前
Java-80 深入浅出 RPC Dubbo 动态服务降级:从雪崩防护到配置中心秒级生效
java·分布式·后端·spring·微服务·rpc·dubbo
爱装代码的小瓶子6 小时前
数据结构之队列(C语言)
c语言·开发语言·数据结构
YuTaoShao6 小时前
【LeetCode 热题 100】131. 分割回文串——回溯
java·算法·leetcode·深度优先
源码_V_saaskw7 小时前
JAVA图文短视频交友+自营商城系统源码支持小程序+Android+IOS+H5
java·微信小程序·小程序·uni-app·音视频·交友
Maybe_ch7 小时前
.NET-键控服务依赖注入
开发语言·c#·.net
明月看潮生7 小时前
编程与数学 03-002 计算机网络 06_网络层职责
计算机网络·青少年编程·编程与数学