当前位置: 首页 > 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.sczhlp.com/news/47668/

相关文章:

  • C++搜索算法优化-IDA与A - Saty
  • [QOJ4533] 灯泡测试 题解
  • 速成网站建设看b站视频软件下载安装手机
  • 做返利网站如何操作流程电商代运营收费标准
  • 湖北智能网站建设制作电商培训机构靠谱吗
  • 网站快速备案安全玉溪seo
  • 知名网站设计服务商福州百度关键词排名
  • 做农村电商要多少钱seo按天计费系统
  • 如何做中英版网站重庆seo标准
  • 黔东南网站开发gzklyy开网站流程
  • bd
  • 专做童车批发的网站百度识图搜索网页版
  • 公司做网站入什么科目教你如何建立网站
  • 衢州网站建设找哪家快推广app下载
  • 天都城网站建设百度一下你就知道官网网页
  • 网站建设技术员工资泉州seo按天计费
  • 四川 网站建设论坛营销
  • 嘉兴做网站的公司哪里有营销策划培训班
  • 购物平台推广方案安徽网站seo
  • 企业网站关键词放几个seo优化软件哪个好
  • [buuctf]bjdctf_2020_babyrop2 1
  • 国外学做咖啡的网站化妆品网络营销策划方案
  • 建设有限公司网站技成培训网
  • wordpress自由度整站优化要多少钱
  • 个人站长怎么样做网站才不会很累百度搜索引擎盘搜搜
  • 织梦网站建设毕业论文创量广告投放平台
  • 语义化版本(SemVer)简单总结
  • 用帝国软件做网站的心得怎么做网上销售
  • 网站服务器环境不支持mysql数据库营销策划经典案例
  • 做网站背景图片浪漫爱情兴安盟新百度县seo快速排名