LinkedList是什么
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章主要介绍"LinkedList是什么",在日常操作中,相信很多人在LinkedList是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"LinkedList是
千家信息网最后更新 2025年12月03日LinkedList是什么
这篇文章主要介绍"LinkedList是什么",在日常操作中,相信很多人在LinkedList是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"LinkedList是什么"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
LinkedList是一个链表集合。
public class LinkedListextends AbstractSequentialList implements List , Deque , Cloneable, java.io.Serializable
可以发现LinkedList没有实现RandomAccess接口,意味着不可以使用for(int i = 0; i < size; i++)进行遍历数据
private static class Node{ E item; Node next; Node prev; Node(Node prev, E element, Node next) { this.item = element; this.next = next; this.prev = prev; }}
通过节点的数据结构,可以看出来LinkedList是一个双向链表。链表的特性是方便插入和删除界面。
/** * Tells if the argument is the index of an existing element. */private boolean isElementIndex(int index) { return index >= 0 && index < size;}/** * Tells if the argument is the index of a valid position for an * iterator or an add operation. */private boolean isPositionIndex(int index) { return index >= 0 && index <= size;}isElementIndex, isPositionIndex是提供的两个对于边界检查的方法, 通过代码发现,一个是[0, size), 一个是[0,size], 范围是不一样的,因为索引为size的位置是一个可插入位,但不是现有的Element位。
/** * Returns the (non-null) Node at the specified element index. */Nodenode(int index) { // assert isElementIndex(index); // 采用二分法遍历链表 if (index < (size >> 1)) { Node x = first; for (int i = 0; i < index; i++) x = x.next; return x; } else { Node x = last; for (int i = size - 1; i > index; i--) x = x.prev; return x; }}
获取指定index的element,算法采用了二分法。虽然在时间复杂度上还是o(n), 但实际计算时确实节省了1/2的时间。
peek() 直接返回头节点
poll() 返回头节点,并在链表中删除
到此,关于"LinkedList是什么"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
学习
节点
二分法
数据
方法
时间
更多
帮助
复杂
实用
接下来
两个
代码
位置
双向
复杂度
实际
意味
接口
数据结构
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库 优化 论文
抖音服务器的ip地址是多少
乌班图mysql云服务器
网络安全信息发布审核制度
七日杀为什么进服务器很慢
游享星域网络技术公司
一个数据库中可以建立多张数据表
长沙安卓软件开发定做
mqtt 服务器有哪些
上海库存网络技术哪家强
数据库长文本
cpu服务器挖矿
rust更新后没有服务器
网络安全重点单位有哪些
网络安全法制教育讲座有感
服务器安全改善地方
数据库中表格一对多和多对多
金蝶商贸版数据库表字段说明
游戏测试和软件开发
电脑代理服务器和端口怎
河南通用软件开发零售价格
我国颁布的网络安全
sflm授权服务器选择
mfc 画图软件开发教程
酒店电竞电脑服务器
公安部网络安全监管总队
网络安全法漏洞管理条例
找停车位的软件开发
数据库技术三级详细知识
青岛智能软件开发教程