尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Java基础--LinkedList类实现链表
LinkedList是Java中实现链表的一个类它实现了List接口表示一个双向链表的集合。LinkedList是Java集合框架中实现了List接口的双向链表数据结构。它是由一系列节点组成的每个节点都包含一个元素和指向前一个节点和后一个节点的引用即链表中的每个节点都有一个指向前一个节点和后一个节点的指针。以下是几种常见方法APILinkedList(): 创建一个新的空链表。add(E element): 将指定的元素添加到链表的末尾。add(int index, E element): 将指定的元素插入到链表的指定位置。get(int index): 返回链表中指定位置的元素。remove(int index): 删除链表中指定位置的元素并返回被删除的元素。size(): 返回链表中元素的数量。clear(): 清空链表中的所有元素。contains(Object element): 检查链表中是否包含指定的元素返回true或false。isEmpty(): 检查链表是否为空返回true或false。indexOf(Object element): 返回链表中第一次出现指定元素的索引位置如果不存在则返回-1。lastIndexOf(Object element): 返回链表中最后一次出现指定元素的索引位置如果不存在则返回-1。toArray(): 将链表转换为数组。以上每个API对应的代码实例如下import java.util.LinkedList; public class LinkedListExample { public static void main(String[] args) { // 创建一个新的空链表 LinkedListString linkedList new LinkedList(); // 将元素添加到链表末尾 linkedList.add(苹果); linkedList.add(香蕉); linkedList.add(橙子); // 在指定位置插入元素 linkedList.add(1, 葡萄); // 获取指定位置的元素 String fruit linkedList.get(2); System.out.println(索引为2的元素: fruit); // 移除指定位置的元素 String removedFruit linkedList.remove(0); System.out.println(移除的元素: removedFruit); // 获取链表的大小 int size linkedList.size(); System.out.println(大小: size); // 检查链表是否为空 boolean empty linkedList.isEmpty(); System.out.println(是否为空: empty); // 检查链表是否包含指定元素 boolean contains linkedList.contains(苹果); System.out.println(是否包含苹果: contains); // 获取某个元素的首次出现位置的索引 int index linkedList.indexOf(香蕉); System.out.println(香蕉的索引: index); // 获取某个元素最后一次出现位置的索引 int lastIndex linkedList.lastIndexOf(橙子); System.out.println(橙子最后一次出现的索引: lastIndex); // 将链表转换为数组 Object[] array linkedList.toArray(); // 清空链表 linkedList.clear(); } }LinkedList类LinkedList是Java中实现链表的一个类。它实现了List接口表示一个双向链表的集合如下是几种常用APIaddFirst(E element)将元素添加到链表的开头。addLast(E element)将元素添加到链表的末尾。getFirst()获取链表的第一个元素。getLast()获取链表的最后一个元素。removeFirst()删除并返回链表的第一个元素。removeLast()删除并返回链表的最后一个元素。以下是每个API实例的代码import java.util.LinkedList; public class Main { public static void main(String[] args) { // 创建一个LinkedList对象 LinkedListString linkedList new LinkedList(); // 添加元素到链表的开头 linkedList.addFirst(A); System.out.println(linkedList); // 输出[A] // 添加元素到链表的末尾 linkedList.addLast(B); System.out.println(linkedList); // 输出[A, B] // 获取链表的第一个元素 String firstElement linkedList.getFirst(); System.out.println(First element: firstElement); // 输出First element: A // 获取链表的最后一个元素 String lastElement linkedList.getLast(); System.out.println(Last element: lastElement); // 输出Last element: B // 删除并返回链表的第一个元素 String removedFirstElement linkedList.removeFirst(); System.out.println(Removed first element: removedFirstElement); // 输出Removed first element: A System.out.println(linkedList); // 输出[B] // 删除并返回链表的最后一个元素 String removedLastElement linkedList.removeLast(); System.out.println(Removed last element: removedLastElement); // 输出Removed last element: B System.out.println(linkedList); // 输出[] } }List接口List是一个接口它可以由不同的类来实现包括ArrayList和LinkedList等所以List接口可以定义链表的基本操作包括增删改查等如下是几种常用APIadd(E element)将元素添加到链表的末尾。add(int index, E element)将元素插入到指定位置。remove(int index)删除指定位置的元素。get(int index)获取指定位置的元素。set(int index, E element)将指定位置的元素替换为新的元素。size()返回链表的大小。以下是每个API实例的代码import java.util.List; import java.util.ArrayList; public class Main { public static void main(String[] args) { // 创建一个List对象 ListString list new ArrayList(); // 将元素添加到链表的末尾 list.add(A); list.add(B); list.add(C); System.out.println(list); // 输出[A, B, C] // 将元素插入到指定位置 list.add(1, D); System.out.println(list); // 输出[A, D, B, C] // 删除指定位置的元素 list.remove(2); System.out.println(list); // 输出[A, D, C] // 获取指定位置的元素 String element list.get(1); System.out.println(Element: element); // 输出Element: D // 将指定位置的元素替换为新的元素 list.set(0, E); System.out.println(list); // 输出[E, D, C] // 返回链表的大小 int size list.size(); System.out.println(Size: size); // 输出Size: 3 } }Iterator接口Iterator接口用于遍历链表常用两个API如下hasNext()判断是否还有下一个元素next()返回下一个元素以下是两个API实例的代码import java.util.List; import java.util.ArrayList; import java.util.Iterator; public class Main { public static void main(String[] args) { // 创建一个List对象 ListString list new ArrayList(); // 添加元素到链表 list.add(A); list.add(B); list.add(C); // 获取Iterator对象 IteratorString iterator list.iterator(); // 判断是否还有下一个元素 while (iterator.hasNext()) { // 返回下一个元素 String element iterator.next(); System.out.println(Element: element); } } }附以上内容均为自己撰写若有错误将在第一时间修改。
RELATED

相关推荐

以太网(Ethernet)协议学习

以太网(Ethernet)协议学习

以太网(Ethernet)协议学习 因为没有做过以太网的项目,也没有进行过以太网通信测试,本片博客仅仅是对以太网协议极小一部分的学习了解。如有不当之处,还请指正。 一、以太网 以太网是一种产生较早,使用相当广泛的局域网技术,局域网就是一个区域的网络互联,可以使…

📅 2026/9/29 1:08:16
CAN总线简介

CAN总线简介

8.1 CAN总线简介 CAN总线是一种异步串行通讯低层网络。对照OSI模型,CAN总线规范仅包含物理层和数据链路层的标准。然而,构建在CAN总线之上的应用层协议(即OSI模型的高层协议)有多种, 譬如针对汽车控制领域和工业控制领域的CANopen协议、针对工业控制领域的DeviceNet协…

📅 2026/9/13 10:20:29
CAN总线接口–协议

CAN总线接口–协议

8.2 CAN总线接口–协议 这一节我们将详细地了解CAN总线的协议以深入地掌握CAN总线应用和设计。目前CAN总线的标准化被分割成6个部分,即ISO 11898-1~6, 这个6个部分分别对CAN总线的链路层和物理层、高速物理介质附属层、低速物理介质附属层、时间触发的CAN通讯(即TTCAN…

📅 2026/9/10 9:39:07
MORE NEWS

更多资讯

📰

华为手机锁屏密码遗忘不清除数据的官方解决方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

nRF54LC10A休眠50nA实测:Cortex-M33与RISC-V混合架构开发指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

STM32+A4988驱动42步进电机实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Eclipse SVN插件site-1.8.22离线安装与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

区块链应用操作员实操考试全攻略:从节点部署到合约调用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

LSTM时间序列预测实战:从数据窗口构造到模型调参避坑

简介:这份资源面向高校学生与Python初学者,提供一套可直接运行的LSTM时间序列预测完整项目,适用于期末大作业、课程设计及入门级深度学习实践。项目以空气质量等真实数据为样本,覆盖数据预处理、模型搭建、训练与预测全流程&#…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬