LinkedList是什么
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要介绍"LinkedList是什么",在日常操作中,相信很多人在LinkedList是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"LinkedList是
千家信息网最后更新 2025年02月01日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安全错误
数据库的锁怎样保障安全
万兆5g服务器图片
数据库变量类型num
迁西信息网络技术创造辉煌
四年级上册网络安全作文400字
c 软件开发工程师
服务器密码设置了连接不上
协同软件开发好的有哪些
东莞团贷网互联网科技
无限设置网络安全防御措施
利用现代网络技术
基因数据库ensembl
影楼设计软件开发
关于网络安全方案
世界网络技术强国
问典民国文献数据库
十堰市讯联网络技术有限公司
奇亚币数据库 转移到其他硬盘
主动脉夹层有专门的数据库吗
网络安全等级分级实施
临湘软件开发有限公司
java 获取数据库脚本
服务器安全日志内容
绝地求生服务器教程
web数据库设计
linux服务器传输文件
南京学软件开发靠谱吗
廊坊4u机架式服务器购买
网络安全视频英汉字幕
怎么写一个网友搜索后端数据库
集大网络安全中心