既然红黑树那么好,为啥hashmap不直接采用红黑树,而是当大于8个的时候才转换红黑树?

昵称是可以中文吗 2018-03-27 09:21:09
既然红黑树那么好,为啥hashmap不直接采用红黑树,而是当大于8个的时候才转换红黑树?
...全文
5400 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
alex@chen 2020-09-23
  • 打赏
  • 举报
回复
不是数组+链表+红黑树??
口香糖先森 2020-06-30
  • 打赏
  • 举报
回复
引用 1 楼 X元素 的回复:
因为红黑树需要进行左旋,右旋操作, 而单链表不需要, 以下都是单链表与红黑树结构对比。 如果元素小于8个,查询成本高,新增成本低 如果元素大于8个,查询成本低,新增成本高
没看懂楼主的这个对比是针对哪个结构的, 没有写清楚啊
globalcoding 2020-05-08
  • 打赏
  • 举报
回复
你怕是不知道hashmap用的是数组+红黑树吧
wjy329 2019-09-22
  • 打赏
  • 举报
回复
如果只看logn和n/2的效率,那4的时候就应该转啊
@风杨 2019-08-15
  • 打赏
  • 举报
回复 1
如果冲突的节点数已经达到8个,看是否需要改变冲突节点的存储结构,treeifyBin首先判断当前hashMap的长度,如果不足64,只进行resize,扩容table,如果达到64,那么将冲突的存储结构为红黑树
灵魂种子 2019-07-10
  • 打赏
  • 举报
回复
忘记默认链表是多少转红黑树。。。然后我就看到了这个帖子。。。。很奈斯~~~~~
weixin_44180977 2019-04-03
  • 打赏
  • 举报
回复
3#真 大捞 ~
高司令都搞出来了。。。哈哈哈哈哈哈
几许纤尘 2018-12-20
  • 打赏
  • 举报
回复
感觉采用二叉树代替链表效果应该更好吧
戎码一生灬 2018-04-21
  • 打赏
  • 举报
回复
引用 1 楼 u011619071 的回复:
因为红黑树需要进行左旋,右旋操作, 而单链表不需要, 以下都是单链表与红黑树结构对比。 如果元素小于8个,查询成本高,新增成本低 如果元素大于8个,查询成本低,新增成本高
大佬,来加个扣扣交流下
oyljerry 2018-03-27
  • 打赏
  • 举报
回复
当个数不多的时候,直接链表遍历更方便,实现起来也简单。而红黑树的实现要复杂的多。
X元素 2018-03-27
  • 打赏
  • 举报
回复
因为红黑树需要进行左旋,右旋操作, 而单链表不需要, 以下都是单链表与红黑树结构对比。 如果元素小于8个,查询成本高,新增成本低 如果元素大于8个,查询成本低,新增成本高
爱孟遥 2021-07-05
  • 举报
回复
@X元素 正好写反

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧