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

宁波网站推广营销苏州h5建站

宁波网站推广营销,苏州h5建站,上海做网站找谁,西安做网站xamokj概念HashMap是java中一种非常常用的基于哈希表的数据结构,允许o(1)的时间复杂度进行元素插入,查找,和删除。它通过”键-值“ 对的方式存储数据。总的来说:HashMap的底层原理:数组链表红黑树(jdk1.8之后还涉…

概念

HashMap是java中一种非常常用的基于哈希表的数据结构,允许o(1)

的时间复杂度进行元素插入,查找,和删除。它通过”键-值“ 对的方式存储数据。

总的来说:HashMap的底层原理:数组+链表+红黑树(jdk1.8之后还涉及红黑树)。

哈希函数与哈希值:每个键都会通过哈希函数计算哈希值,然后通过哈希值决定数组在那个桶(buxket)中。桶是一个数组的存储位置。

数组:hashmap底层是一个数组,每个数组元素存放一个链表或者红黑树(1.8之后)

当新元素插入hashmap时,它首先根据哈希值找到数组中的某个位置(桶)。如果该位置为空,则

则直接插入;如果该位置已经存在了元素(发生碰撞),链表或红黑树解决冲突。

hash冲突——链表和红黑树:

如果发生哈希冲突,hashMap会将相同的哈希值的元素以链表的形式存储在一个桶中(数组的某个位置)。

当链表长度过长时候,时间复杂度变为O(n).当链表长度超过一定的阈值(默认是8)时,链表会转换为红黑树,从而将时间复杂度从O(n)降低到O(log n).

负载因子和扩容:

Hash Map有一个重要的参数叫负载因子,它决定了当数组中元素数量超过数组容量的多大比例时,会触发扩容操作。默认负载因子是0.75,当HashMap的元素数量达到数组容量的75%时,HashMap会自动扩容,通常会将数组容量扩展为原来的2倍。扩容时,HashMap会重新分配一个更大的数组,并将原来的数组映射到新的数组中,这个过程叫做rehashing。过程比较耗时,因为要重新计算每个元素的哈希值,并将其放入桶中。

源码分析:

HashMap 的默认初始化容量是 16,负载因子是 0.75。

static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16
static final float DEFAULT_LOAD_FACTOR = 0.75f;

HashMap 的 put 方法是插入元素的核心逻辑。
hash() 方法计算键的哈希值。为了减少哈希冲突,它通过异或运算将高位信息与低位结合,混合高位与低位的位信息.

public V put(K key, V value) {
return putVal(hash(key), key, value, false, true);
}

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


文章转载自:

http://fk8rVp2w.fbtgp.cn
http://3AHf3T1j.fbtgp.cn
http://0Ld48Og3.fbtgp.cn
http://FujOqCVM.fbtgp.cn
http://jzzkQR9o.fbtgp.cn
http://xqxS11zy.fbtgp.cn
http://TMuTgjrx.fbtgp.cn
http://8gkVMZVr.fbtgp.cn
http://WEipwG2O.fbtgp.cn
http://6Bkwihf3.fbtgp.cn
http://iYGL5nX2.fbtgp.cn
http://cYDDzjxy.fbtgp.cn
http://QMYtQXaS.fbtgp.cn
http://dqCanpf9.fbtgp.cn
http://7F7q90WF.fbtgp.cn
http://nVQFU8nk.fbtgp.cn
http://l0PFVVdm.fbtgp.cn
http://nXodXA78.fbtgp.cn
http://QZflWi4R.fbtgp.cn
http://1JVWeAml.fbtgp.cn
http://mmmz26nF.fbtgp.cn
http://BstiB8VQ.fbtgp.cn
http://twu4IfY4.fbtgp.cn
http://y57mJV6o.fbtgp.cn
http://Zm9d0hjf.fbtgp.cn
http://jaQ98UzX.fbtgp.cn
http://GXtw42bR.fbtgp.cn
http://dJZxRKiE.fbtgp.cn
http://IGpqdF9r.fbtgp.cn
http://fkTSB3p5.fbtgp.cn
http://www.dtcms.com/wzjs/771036.html

相关文章:

  • wordpress建站门户wordpress 导入主题
  • 建设一个聊天类的网站服务商平台支付宝
  • 湖南微网站开发wordpress自用主题
  • 做网站的公司叫什么问题哪里可以做网站推广
  • 专注网站建设怎么样设计专业网站公司
  • 甘肃路桥建设集团网站wps做网站
  • 全国企业信用信息查询网站湖州建设公司网站
  • 做网站步骤如何写一个wordpress主题
  • 外国小孩和大人做网站科技进步是国防强大的重要的保证
  • 宁波网站建设招聘网深圳市研发网站建设哪家好
  • 建设网站需要什么技术中铁建设
  • 强化门户网站建设河北邯郸wap网站建设
  • 制作自己的网站需要什么材料广州市 优化推广
  • 微信网站开发制作平台无锡做网站
  • 大连免费建站重庆网站推广报价
  • 营销型网站建设目的湖南网站建设 莫道
  • 全响应式网站用什么做的飞天侠调用wordpress
  • 青岛住房和城乡建设部网站设计一个网站策划书
  • 图片生成链接网站wordpress怎么禁止回复
  • 网站建设运营外包环境设计案例网站
  • 会员wordpress主题网站优化与seo
  • 贵阳网站开发外包社交电商app
  • 地方门户网站备案适合新手做的网站项目
  • 免费商用的网站模板机票网站制作
  • 建设银行教育网站软文推送
  • 买程序的网站网页游戏网站7
  • 合肥做网站123cms网站设计分类
  • 淄博网站快照优化公司网页无法访问摄像头
  • 有多少人自己做电影网站360网站推广官网硅钙钾镁肥
  • 福州网站wordpress文章标题外链