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


相关推荐
枯萎穿心攻击3 分钟前
响应式编程入门教程第二节:构建 ObservableProperty<T> — 封装 ReactiveProperty 的高级用法
开发语言·unity·c#·游戏引擎
DKPT29 分钟前
Java桥接模式实现方式与测试方法
java·笔记·学习·设计模式·桥接模式
Eiceblue1 小时前
【免费.NET方案】CSV到PDF与DataTable的快速转换
开发语言·pdf·c#·.net
好奇的菜鸟2 小时前
如何在IntelliJ IDEA中设置数据库连接全局共享
java·数据库·intellij-idea
m0_555762902 小时前
Matlab 频谱分析 (Spectral Analysis)
开发语言·matlab
DuelCode3 小时前
Windows VMWare Centos Docker部署Springboot 应用实现文件上传返回文件http链接
java·spring boot·mysql·nginx·docker·centos·mybatis
浪裡遊3 小时前
React Hooks全面解析:从基础到高级的实用指南
开发语言·前端·javascript·react.js·node.js·ecmascript·php
优创学社23 小时前
基于springboot的社区生鲜团购系统
java·spring boot·后端
幽络源小助理3 小时前
SpringBoot基于Mysql的商业辅助决策系统设计与实现
java·vue.js·spring boot·后端·mysql·spring
猴哥源码3 小时前
基于Java+springboot 的车险理赔信息管理系统
java·spring boot