是的,Java 中的 LinkedList 本质上是链表,更准确地说,它是双向链表(doubly linked list)。
java.util.LinkedList 的底层实现是双向链表结构简化结构如下:
null <- [prev | data | next] <-> [prev | data | next] <-> ... -> null
get(i) 需要遍历,O(n))List 和 Deque 接口,也可当作栈、队列、双端队列使用| 对比项 | LinkedList | ArrayList |
|---|---|---|
| 底层结构 | 双向链表 | 动态数组 |
| 随机访问 | 慢 | 快 |
| 头插/删除 | 快 | 慢 |
| 内存占用 | 较高(节点额外指针) | 较低 |
✅ Java 的 LinkedList 是链表
✅ 是双向链表
❌ 不是数组,也不是单向链表
如果你愿意,我也可以给你画内存结构图,或对比源码实现。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。