4.5.4 LinkedList
文章目录
- 1.特点
- 2.常用方法
- 3.练习:LinkedList测试
1.特点
链表,两端效率高,底层就是链表实现的


List接口的实现类,底层的数据结构为链表,内存空间是不连续的
- 元素有下标,有序
- 允许存放重复的元素
- 在数据量较大的情况下,查询慢,增删快
2.常用方法
void addFirst(E e) 添加首元素
void addLast(E e) 添加首元素
E getFirst() 获取首元素
E getLast() 获取尾元素
E element() 获取首元素
E removeFirst() 删除首元素
E removeLast() 删除尾元素boolean offer(E e) 添加尾元素
boolean offerFirst(E e) 添加首元素
boolean offerLast(E e) 添加尾元素
E peek() 获取首元素
E peekFirst() 获取首元素
E peekLast() 获取尾元素
E poll() 返回并移除头元素
E pollFirst() 返回并移除头元素
E pollLast() 返回并移除尾元素
3.练习:LinkedList测试
package partThree;import java.util.LinkedList;/*本类用于测试LinkedList方法的使用*/
public class TestLinkedList {public static void main(String[] args) {//1.创建集合对象LinkedList<String> list = new LinkedList<>();//2.向集合中添加数据list.add("孙悟空");list.add("猪八戒");list.add("唐三藏");list.add("沙师弟");list.add("白龙马");System.out.println(list);//3.1 自行测试继承自Collection与list中的方法//3.2 测试LinkedList独有的方法list.addFirst("蜘蛛精");//添加首元素list.addLast("白骨精");//添加尾元素System.out.println(list);System.out.println(list.getFirst());//获取首元素 可以直接写到打印语句中,也可以单独写System.out.println(list.getLast());//获取尾元素 可以直接写到打印语句中,也可以单独写System.out.println(list.removeFirst());//移除首元素,成功移除会返回移除的数据System.out.println(list);//打印移除后剩余的元素System.out.println(list.removeLast());//移除尾元素,成功移除会返回移除的数据System.out.println(list);//打印移除后剩余的元素//4.其他测试//4.1创建对象LinkedList<String> list2 = new LinkedList();//4.2添加数据list2.add("水浒传");list2.add("三国演义");list2.add("西游记");list2.add("红楼梦");System.out.println(list2);System.out.println(list2.element());//水浒传 获取但不移除此列表的首元素(第一个元素)/**别名:查询系列*/System.out.println(list2.peek());//获取但不移除此列表的首元素(第一个元素)System.out.println(list2.peekFirst());//获取但不移除此列表的首元素(第一个元素)System.out.println(list2.peekLast());//获取但不移除此列表的尾元素(最后一个元素)/**别名:新增系列*/System.out.println(list2.offer("遮天"));//将指定元素添加到列表末尾System.out.println(list2.offerFirst("破天"));//将指定元素插入列表开头System.out.println(list2.offerLast("补天"));//将指定元素插入列表末尾System.out.println(list2);/**别名:移除系列*/System.out.println(list2.poll());//获取并且移除此列表的首元素(第一个元素),成功移除,返回移除元素System.out.println(list2.pollFirst());//获取并且移除此列表的首元素(第一个元素),成功移除,返回移除元素,如果此列表为空,则返回nullSystem.out.println(list2.pollLast());//获取并且移除此列表的尾元素(最后一个元素),成功移除,返回移除元素,如果此列表为空,则返回nullSystem.out.println(list2);}
}
相关文章:
4.5.4 LinkedList
文章目录1.特点2.常用方法3.练习:LinkedList测试1.特点 链表,两端效率高,底层就是链表实现的 List接口的实现类,底层的数据结构为链表,内存空间是不连续的 元素有下标,有序允许存放重复的元素在数据量较大的情况下,查询慢&am…...
Python之FileNotFoundError: [Errno 2] No such file or directory问题处理
错误信息:FileNotFoundError: [Errno 2] No such file or directory: ../AutoFrame/temp/report.xlsx相对于当前文件夹的路径,其实就是你写的py文件所在的文件夹路径!python在对文件的操作时,需要特别注意文件地址的书写。文件的路…...
C语言中耳熟能详的printf与scanf
没有什么比时间更有说服力了,因为时间无需通知我们就可以改变一切了。---余华《活着》大家好,今天给大家分享的是C语言中的scanf与printf函数,一提起这两个函数,大家可能觉得这不就是打印和输入嘛?有什么可以说的&…...
【数据结构】复杂度讲解
目录 时间复杂度与空间复杂度:: 1.算法效率 2.时间复杂度 3.空间复杂度 4.常见时间复杂度以及复杂度OJ练习 时间复杂度与空间复杂度:: 什么是数据结构? 数据结构中是计算机存储,组织数据的方式,指相互之间存在一种或多种特定关…...
JAVA-线程池技术
目录 概念 什么是线程? 什么是线程池? 线程池出现背景 线程池原理图 JAVA提供线程池 线程池参数 如果本篇博客对您有一定的帮助,大家记得留言点赞收藏哦。 概念 什么是线程? 是操作系统能够进行运算调度的最小单位。&am…...
【C++】从0到1入门C++编程学习笔记 - 提高编程篇:STL常用算法(算术生成算法)
文章目录一、accumulate二、fill学习目标: 掌握常用的算术生成算法 注意: 算术生成算法属于小型算法,使用时包含的头文件为 #include <numeric> 算法简介: accumulate // 计算容器元素累计总和 fill // 向容器中添加元…...
【C++】static成员
💙作者:阿润菜菜 📖专栏:C 目录 概念 特性 出个题 概念 声明为static的类成员称为类的静态成员,用static修饰的成员变量,称之为静态成员变量; 用static修饰的成员函数,称之为静态…...
Python Scrapy 爬虫简单教程
1. Scrapy install 准备知识 pip 包管理Python 安装XpathCssWindows安装 Scrapy $>- pip install scrapy Linux安装 Scrapy $>- apt-get install python-scrapy 2. Scrapy 项目创建 在开始爬取之前,必须创建一个新的Scrapy项目。进入自定义的项目目录中&am…...
【DOCKER】容器概念基础
文章目录1.容器1.概念2.特点3.与虚拟机的对比2.docker1.概念2.命名空间3.核心概念3.命令1.镜像命令2.仓库命令1.容器 1.概念 1.不同的运行环境,底层架构是不同的,这就会导致测试环境运行好好的应用,到了生产环境就会出现bug(就像…...
第九层(16):STL终章——常用集合算法
文章目录前情回顾常用集合算法set_intersectionset_unionset_difference最后一座石碑倒下,爬塔结束一点废话🎉welcome🎉 ✒️博主介绍:一名大一的智能制造专业学生,在学习C/C的路上会越走越远,后面不定期更…...
一起学习用Verilog在FPGA上实现CNN----(六)SoftMax层设计
1 SoftMax层设计 1.1 softmax SoftMax函数的作用是输入归一化,计算各种类的概率,即计算0-9数字的概率,SoftMax层的原理图如图所示,输入和输出均为32位宽的10个分类,即32x10320 本项目softmax实现逻辑为: …...
pixhawk2.4.8-APM固件-MP地面站配置过程记录
目录一、硬件准备二、APM固件、MP地面站下载三、地面站配置1 刷固件2 机架选择3 加速度计校准4 指南针校准5 遥控器校准6 飞行模式7 紧急断电&无头模式8 基础参数设置9 电流计校准10 电调校准11 起飞前检查(每一项都非常重要)12 飞行经验四、遇到的问…...
【unity细节】关于资源商店(Package Maneger)无法下载资源问题的解决
👨💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 收录于专栏:unity细节和bug ⭐关于资源商店为何下载不了的问题⭐ 文章目录⭐关于资源商店为何下载不了的问题…...
[Arxiv 2022] A Novel Plug-in Module for Fine-Grained Visual Classification
Contents MethodPlug-in ModuleLoss functionExperimentsReferencesMethod Plug-in Module Backbone:为了帮助模型抽取出不同尺度的特征,作者在 backbone 里加入了 FPNWeakly Supervised Selector:假设 backbone 的 i i...
RocketMQ Broker消息处理流程及部分源码解析
🍊 Java学习:Java从入门到精通总结 🍊 深入浅出RocketMQ设计思想:深入浅出RocketMQ设计思想 🍊 绝对不一样的职场干货:大厂最佳实践经验指南 📆 最近更新:2023年2月10日 &#x…...
Java面试题:Java集合框架
文章目录一、Java集合框架二、Java集合特性三、各集合类的使用ArrayListLinkedListHashSetHashSet源码解析对源码进行总结HashSet可同步HashSet的使用HashMap四、Iterator迭代器五、遍历集合元素的若干方式参考文章:Hash详解参考文章:深入浅出学Java——…...
时间之间的比较与计算相差年、月、日、小时、分钟、毫秒、纳秒以及判断闰年--LocalDateTime
如何把String/Date转成LocalDateTime参考String、Date与LocalDate、LocalTime、LocalDateTime之间互转 String、Date、LocalDateTime、Calendar与时间戳之间互相转化参考String、Date、LocalDateTime、Calendar与时间戳之间互相转化 比较方法介绍 isBefore(ChronoLocalDateT…...
PyTorch学习笔记:nn.L1Loss——L1损失
PyTorch学习笔记:nn.L1Loss——L1损失 torch.nn.L1Loss(size_averageNone, reduceNone, reductionmean)功能:创建一个绝对值误差损失函数,即L1损失: l(x,y)L{l1,…,lN}T,ln∣xn−yn∣l(x,y)L\{l_1,\dots,l_N\}^T,l_n|x_n-y_n| l(…...
Java程序设计-ssm企业财务管理系统设计与实现
摘要系统设计系统实现开发环境:摘要 对于企业集来说,财务管理的地位很重要。随着计算机和网络在企业中的广泛应用,企业发展速度在不断加快,在这种市场竞争冲击下企业财务管理系统必须优先发展,这样才能保证在竞争中处于优势地位。…...
疑难杂症篇(二十一)--Ubuntu18.04安装usb-cam过程出现的问题
对Ubuntu18.04{\rm Ubuntu 18.04}Ubuntu18.04环境下的ROS{\rm ROS}ROS的melodic{\rm melodic}melodic版本安装usb−cam{\rm usb-cam}usb−cam过程出现的两个常见问题提出解决方案。 1.问题1:usb-cam功能包编译时出现"未定义的引用"的问题 问题描述&#…...
FastGPT vs Dify vs Coze:哪个AI平台更适合你的项目需求?(2024最新对比)
FastGPT vs Dify vs Coze:2024年AI开发平台深度选型指南 当我们需要将大语言模型整合到业务系统中时,总会面临平台选择的难题。去年我在为一家金融科技公司搭建智能客服系统时,曾花费两周时间深度测试了市面上主流的三个AI开发平台——FastGP…...
利用快马平台快速构建arm7流水灯原型,十分钟验证硬件控制逻辑
最近在带学生入门嵌入式开发时,发现ARM7这类经典架构虽然功能强大,但初学者往往会被复杂的环境搭建劝退。为了让大家能快速上手硬件控制逻辑,我尝试用InsCode(快马)平台构建了一个LED流水灯原型,整个过程比想象中顺畅很多。 项目设…...
嵌入式图像处理实战:中值滤波 vs 均值滤波在STM32上的性能对比(附代码)
嵌入式图像处理实战:中值滤波 vs 均值滤波在STM32上的性能对比(附代码) 在机器人视觉或工业检测系统中,一个突如其来的像素噪点可能导致整个识别算法崩溃。我曾亲眼见证过某产线机械臂因图像传感器受到电磁干扰,将正常…...
Arduino_ConnectionHandler库:嵌入式网络连接状态管理与自适应重连
1. Arduino_ConnectionHandler 库深度解析:嵌入式网络连接管理的工程实践指南1.1 库定位与核心价值Arduino_ConnectionHandler是 Arduino 官方生态中面向物联网终端设备的网络连接抽象管理层,其设计目标并非替代底层通信协议栈(如 WiFiClient…...
避坑指南:lidar_align标定IMU外参时,loader.cpp源码修改与运动轨迹设计的那些关键细节
避坑指南:lidar_align标定IMU外参的核心细节与实战优化 在自动驾驶和机器人定位领域,激光雷达与IMU的联合标定是系统搭建的关键环节。许多开发者在初次使用lidar_align工具时会遇到各种问题——从源码适配的困惑到标定结果的不可靠。本文将深入剖析两个最…...
EmbeddingGemma-300m效果展示:多语言文本相似度计算实战
EmbeddingGemma-300m效果展示:多语言文本相似度计算实战 1. 引言 文本嵌入模型正在改变我们处理多语言内容的方式。想象一下,你有一个包含中文、英文、法文等多种语言的文档库,如何快速找到语义相似的内容?传统的关键词匹配方法…...
Windows记事本CVE-2026-20841漏洞分析:从命令注入根因、全链路攻击链到企业级纵深防御的全维度深度复盘
在Windows系统的生态里,从来没有一款工具能像记事本一样,拥有长达40年的“绝对安全”共识。 从1985年Windows 1.0首次预装,到如今Windows 11的全版本覆盖,这个仅数百KB的纯文本编辑器,始终是全球用户记录备忘、清理格…...
交叉编译microcom
由于默认的busybox没有支持microcom工具,也没有提供源码,所以需要自己交叉编译microcom工具。 microcom工具 https://packages.ubuntu.com/zh-cn/plucky/microcom 下载ubuntu带的软件包microcom,下载microcom_2023.09.0.orig.tar.xz版本&…...
Face Analysis WebUI在金融领域的应用:远程开户身份核验
Face Analysis WebUI在金融领域的应用:远程开户身份核验 1. 引言 想象一下这样的场景:一位偏远地区的客户想要开设银行账户,但最近的银行网点在100公里外。传统方式下,他需要亲自前往网点,排队等待,提交各…...
Qwen3.5-2B效果展示:对含中英混排、公式符号的PDF截图进行精准语义还原
Qwen3.5-2B效果展示:对含中英混排、公式符号的PDF截图进行精准语义还原 1. 模型概览 Qwen3.5-2B是通义千问团队推出的轻量化多模态基础模型,属于Qwen3.5系列的小参数版本(20亿参数)。这个模型主打低功耗、低门槛部署特性&#x…...
