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

宁波企业网站制作推荐美妆网站开发规划书

宁波企业网站制作推荐,美妆网站开发规划书,微网站建设云帆网络,淄博网站制作网络定制一、HashMap 的位操作设计 HashMap 使用位运算优化哈希计算与索引定位,核心场景如下: 哈希扰动函数 计算键的哈希值时,将高16位与低16位异或: static final int hash(Object key) {int h;return (key null) ? 0 : (h key.hash…

一、HashMap 的位操作设计

HashMap 使用位运算优化哈希计算与索引定位,核心场景如下:

  1. 哈希扰动函数
    计算键的哈希值时,将高16位与低16位异或:

    static final int hash(Object key) {int h;return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);
    }
    

    作用:增加哈希值的随机性,减少因低位重复导致的冲突(例如低位相同的哈希值经过扰动后分布更均匀)。

  2. 索引定位优化
    通过 (n - 1) & hash 计算数组下标(n为数组长度)。
    关键点

    • 数组长度 n 必须为2的幂(如16、32),保证 n-1 的二进制全为1(如15→0b1111),此时按位与等效于取模运算,但效率更高。
    • 例如:哈希值为 0b10100101n=16,计算得 15 & 0b10100101 = 0b0101(即下标5)。

二、HashSet 的 contains 方法复杂度

HashSet 的 contains() 方法底层依赖 HashMap 的键查找,复杂度与哈希冲突情况相关:

  • 理想情况:哈希分布均匀时,时间复杂度为 O(1)
  • 哈希冲突时
    • 链表:退化至 O(n)(如所有元素哈希冲突形成长链表)。
    • 红黑树:优化为 O(log n)(链表长度超过8且数组容量≥64时转换为红黑树)。

底层实现

// HashSet 源码中的 contains 方法
public boolean contains(Object key) {return map.containsKey(key);  // 调用 HashMap 的 containsKey
}

三、红黑树的核心特性与作用

红黑树是 HashMap 在哈希冲突严重时的优化数据结构,其特性与优势如下:

  1. 核心特性

    • 节点颜色:非红即黑。
    • 根节点与叶子:根节点必须为黑色,叶子节点(NIL节点)视为黑色。
    • 红色节点约束:红色节点的子节点必须为黑色(确保无连续红色节点)。
    • 黑色高度平衡:从任一节点到其所有叶子路径的黑色节点数相同。
  2. 操作复杂度

    • 插入/删除/查找:时间复杂度均为 O(log n),优于链表(O(n))。
    • 旋转次数:相比 AVL 树,红黑树放宽平衡条件,减少旋转次数,更适合频繁修改的场景。
  3. 在 HashMap 中的应用

    • 转换条件:链表长度 >8 且数组容量 ≥64 时,链表转为红黑树;节点数 <6 时退化为链表。
    • 优势:避免恶意哈希攻击导致性能骤降(如大量哈希冲突使链表退化为 O(n) 查询)。

总结对比

维度HashMap 位操作HashSet 的 contains红黑树
核心目的减少哈希冲突,快速定位数组下标快速判断元素是否存在解决哈希冲突导致的查询性能问题
时间复杂度O(1)(无冲突时)O(1)/O(log n)(冲突优化后)插入/删除/查找均为 O(log n)
典型应用场景所有键值对存储操作集合元素去重与快速查找哈希冲突严重时的链表替代方案

在这里插入图片描述


文章转载自:

http://vZCQ376o.ffLnw.cn
http://WpuaX7Xd.ffLnw.cn
http://Npl4fpCQ.ffLnw.cn
http://3m6Hplcy.ffLnw.cn
http://Kai4R5mq.ffLnw.cn
http://gg0kig1m.ffLnw.cn
http://nnid7gA7.ffLnw.cn
http://8xamV1Ao.ffLnw.cn
http://VPnHEGg9.ffLnw.cn
http://uf8kqgIw.ffLnw.cn
http://880mi6S1.ffLnw.cn
http://Lqthqrzz.ffLnw.cn
http://9PUDyIcx.ffLnw.cn
http://R9yIxWnQ.ffLnw.cn
http://PGcBYjGD.ffLnw.cn
http://Wi3NrCLm.ffLnw.cn
http://biATNcgr.ffLnw.cn
http://lDU4ObDN.ffLnw.cn
http://jQIyiFO4.ffLnw.cn
http://JWLjbb0A.ffLnw.cn
http://VdSv5F9g.ffLnw.cn
http://P2LSIz9I.ffLnw.cn
http://Itko9ylE.ffLnw.cn
http://svHJAubf.ffLnw.cn
http://iC3Xhanb.ffLnw.cn
http://P7C5urzY.ffLnw.cn
http://yvdf3ezR.ffLnw.cn
http://jtiyL4O0.ffLnw.cn
http://yyoUfEsv.ffLnw.cn
http://pqPsPe54.ffLnw.cn
http://www.dtcms.com/wzjs/744711.html

相关文章:

  • tk后缀网站是什么网站比较高端的网页
  • 网站中主色调网站美工做专题尺寸多少
  • 芯港小镇建设管理中心网站网站文章优化技巧
  • 北京南站到故宫最佳路线贵州省建设厅网站
  • 甘肃做网站的公司有哪些怎样制作网站和软件
  • 哈尔滨营销网站建设公司网站建设英文怎么说
  • 赣州企业网站建设仿冒网站制作
  • 东莞网站建设总结电子商务网站包括
  • 删除网站栏目wordpress首页缓存自动清空
  • 内江网站开发0832hdsj做网站销售的技巧
  • 苏州市郭巷建设局网站秦皇岛建设局局官方网站
  • 仙居做网站在哪里做哪个公司的网络最好
  • 北京网站建设公司官网手机微信打开文件是乱码
  • 网站开发中网页上传和发布地推接单网
  • 官渡网站设计制作婚纱摄影在哪个网站找
  • phpcms适合做什么网站北京最新新闻
  • hemi网站怎么做热图wordpress 后台修改
  • 网站建设的主要特征吉林网站建设价格
  • 有偷菜餐厅城市建设的网站seo成功的案例和分析
  • 河南省网站好看的网站颜色
  • 软文写作网站信息产业部网站备案系统
  • 建设网站天河区广州网站建设外包公司
  • 营销网站建设收费通化网站优化
  • 免费做网站appwordpress自动采集发布插件
  • 汤唯梁朝伟做视频网站wordpress inc文件夹
  • 网站升级维护中 模板深圳营销型网站需要多少钱
  • 西安网站seo推广建设网站详细流程图
  • 徐州网站简介肥城做网站
  • 婚纱网站模板下载湖南网站建设 地址磐石网络
  • 汕头手机建站模板网站访问统计 曲线图