千家信息网

LinkedList查询方法怎么使用

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容主要讲解"LinkedList查询方法怎么使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"LinkedList查询方法怎么使用"吧!Linked
千家信息网最后更新 2026年11月01日LinkedList查询方法怎么使用

本篇内容主要讲解"LinkedList查询方法怎么使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"LinkedList查询方法怎么使用"吧!

LinkedList 底层是基于双向链表实现的,也是实现了 List 接口,所以也拥有 List 的一些特点(JDK1.7/8 之后取消了循环,修改为双向链表)。

新增方法
 public boolean add(E e) {
linkLast(e);
return true;
}
/**
* Links e as last element.
*/
void linkLast(E e) {
final Node l = last;
final Node newNode = new Node<>(l, e, null);
last = newNode;
if (l == null)
first = newNode;
else
l.next = newNode;
size++;
modCount++;
}

可见每次插入都是移动指针,和 ArrayList 的拷贝数组来说效率要高上不少。

查询方法
 public E get(int index) {
checkElementIndex(index);
return node(index).item;
}

Node node(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离链表头比较近,就从节点头部遍历。否则就从节点尾部开始遍历。使用空间(双向链表)来换取时间。
node()会以O(n/2)的性能去获取一个结点,如果索引值大于链表大小的一半,那么将从尾结点开始遍历
这样的效率是非常低的,特别是当 index 越接近 size 的中间值时。

到此,相信大家对"LinkedList查询方法怎么使用"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

方法 查询 双向 内容 效率 结点 节点 学习 实用 更深 代码 兴趣 大小 头部 实用性 实际 尾部 底层 性能 拷贝 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网和科技技术 互联网的科技 互联网的科技创新 杭州互联网科技公司 艾特科技互联网 北京三清互联网科技 央行互联网金融科技公司 洛阳昕诺飞互联网科技有限公司 健康食品互联网创新科技园项目 互联网公司黑科技创始人 互联网科技数字货币 互联网相关科技技术 2021世界互联网领先科技成果发布 九思连强互联网电子科技有限公司 世界互联网科技成果奖 上海万顺科技互联网有限公司招聘 保山互联网科技靠谱吗 互联网科技职业技能培训学校 盐城市攀科互联网科技有限公司 高科技和互联网的现代国家 与互联网科技公司 互联网与新科技 海南科技产业互联网平台 来此购互联网科技有限公司 浙江互联网科技研学营 苏州铭阳互联网科技有限公司 互联网金融科技展 明优互联网科技有限公司 本届互联网大会上的黑科技 美国五大互联网科技公司市值多少
0