You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java LinkedHashMap/Set的Entry对象包含多少个指针?

关于LinkedHashSet中Entry的指针问题

没错,LinkedHashSet底层依赖的LinkedHashMap.Entry确实包含两组指针,分别服务于两种不同的链表逻辑:

  • 第一组是继承自HashMap.Node的next指针:用来处理哈希冲突,把哈希值相同、被分配到同一个桶里的元素串成链表(JDK 8及以后,当链表长度达到阈值时会转为红黑树优化查询效率)。
  • 第二组是LinkedHashMap.Entry新增的before和after指针:这是一个双向链表的指针对,专门用来维护元素的插入顺序(如果是访问顺序模式的LinkedHashMap,则维护访问顺序)——这也是LinkedHashSet能保证元素按插入顺序迭代的根本原因。

简单来说,LinkedHashSet本质就是对LinkedHashMap的包装,所以完全复用了LinkedHashMap的Entry结构,不需要额外实现条目逻辑。

内容的提问来源于stack exchange,提问作者Krishna Upadhyay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 08:13:12