当前位置: 首页 > news >正文

动态网站建设实训报告总结快速建站工具

动态网站建设实训报告总结,快速建站工具,网站设计原型工具,西安市免费做网站Java中的HashMap是一种常用的数据结构,用于存储键值对。在Java 1.7和1.8中,HashMap的实现有一些不同。 Java 1.7中的HashMap实现是基于“拉链法”的哈希表。每个哈希桶(bucket)是一个链表,存储了散列值相同的键值对。当键值对数量过多时&…

Java中的HashMap是一种常用的数据结构,用于存储键值对。在Java 1.7和1.8中,HashMap的实现有一些不同。
Java 1.7中的HashMap实现是基于“拉链法”的哈希表。每个哈希桶(bucket)是一个链表,存储了散列值相同的键值对。当键值对数量过多时,链表长度会变得很长,导致查找效率下降。此时,需要调整哈希桶大小或转换为红黑树来提高效率。
Java 1.8中的HashMap实现则在1.7的基础上进行了改进。当链表长度超过一定阈值(默认为8)时,会将链表转换为红黑树,以提高查找、插入和删除操作的效率。同时,1.8版本引入了CAS操作(Compare And Swap),用于实现线程安全的并发访问。
除了以上改进,Java 1.8中的HashMap还增加了一些新的API和实现细节,例如:

使用Node<K,V>代替Entry<K,V>:Node是HashMap中的一个内部类,用于表示键值对,替代了旧版本中的Entry。
使用TreeBin代替红黑树:TreeBin是HashMap中的一个内部类,用于表示红黑树,提高了代码的可读性和维护性。
使用TreeifyBin代替红黑树的退化:TreeifyBin是HashMap中的一个内部类,用于表示红黑树退化成链表的情况,使代码更加清晰。
使用TreeNode代替红黑树节点:TreeNode是HashMap中的一个内部类,用于表示红黑树节点,与Node的定义相比更加简洁。

总之,Java 1.8中的HashMap相比于1.7版本有了较大的改进,提高了性能和可靠性,并增加了一些新的API和实现细节,方便开发者使用和维护。

HashMap 1.7和1.8扩容机制

在 Java 1.7 中,HashMap 的扩容机制是当容量超过负载因子与数组长度的乘积时就会进行扩容。默认负载因子为 0.75,即当数组长度为 n 时,当元素个数 size 超过 n * 0.75 时就会扩容。扩容时,数组长度会变为原来的 2 倍,并且将原来的元素重新计算哈希值,再散列到新数组中。

在 Java 1.8 中,HashMap 的扩容机制有了改进。当链表长度超过阈值(默认为 8)时,将链表转换为红黑树。如果红黑树节点数少于 6,则将红黑树转回为链表。这样可以减少因为过长的链表而导致的查找效率降低。在进行扩容时,1.8 版本不再使用重散列的方式,而是采用了新的方式进行扩容。具体地,扩容过程中,原数组中的每个元素会被复制到新的数组中,而不需要重新计算哈希值和重新散列。

总的来说,Java 1.8 中的 HashMap 扩容机制相比 Java 1.7 中的有了很大的改进,避免了一些性能瓶颈。同时,1.8 版本引入了红黑树来优化链表过长的情况,提高了查询效率。

作者:lfsun666
链接:https://juejin.cn/post/7203397626526908475
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

http://www.hrbkazy.com/news/24377.html

相关文章:

  • 推广平台赚钱是真的吗重庆seo优化推广
  • 企业做网站建设遇到的问题广安网站seo
  • 网站制作目标及要求做网站
  • 做外贸经常用的网站学生个人网页制作素材
  • 网站建设如何避免陷入模仿误区清远今日头条新闻
  • 福州朝阳房产网站建设冯耀宗seo教程
  • 做网站可以干什么免费网站制作平台
  • 黑龙江交通系统网站建设百度怎么优化网站关键词
  • 网站建设制作汕头徐州seo招聘
  • 网站图标在哪里做修改上海关键词优化的技巧
  • 网上做批发的网站南昌网站设计
  • 做网站的公司经营范围怎么写互联网最赚钱的行业
  • 网站提权营销推广活动策划
  • 工信部备案查询网站湖南关键词网络科技有限公司
  • 网站资讯建设湖南网站建设推荐
  • 阿里与电信签订合作协议厦门谷歌seo
  • 西峰住房和城乡建设局网站现在推广什么app最挣钱
  • 门户网站开发过程关键词优化搜索排名
  • 郴州网站优化网站设计与网页制作
  • wordpress 输出内容关键词优化百家号
  • 公司有必要建设网站吗最新消息今天的新闻
  • 建筑人才招聘网站平台谷歌seo关键词优化
  • c 网站开发如何每天10点执行任务百度广告投放收费标准
  • 网站建设 博客公司注册流程
  • 静态网站如何做自适应移动端地推拉新app推广接单平台
  • 西安做网站科技有限公司长沙seo代理
  • 河南做网站哪家好福州模板建站哪家好
  • 网站百度快照怎么做网站页面优化方案
  • 响应式网站设计的要求成都seo达人
  • 东莞整合网站建设公司深圳做seo有哪些公司