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

找人做网站去哪里网站建站哪个公司好一点

找人做网站去哪里,网站建站哪个公司好一点,seo范畴有哪些,网站欣赏网站欣赏概念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://www.dtcms.com/a/559049.html

相关文章:

  • 3d 网站设计网站推广方法有几种
  • 制作ppt的网站wordpress等级
  • 上线了相同网站做网站好还是做app好
  • 工作一般做网站视频的工作叫做什么潜江生活信息网
  • 易语言可以做网站后端网站和公众号的区别是什么
  • 青海公司网站建设哪家好《新闻联播》 今天
  • seo网络培训学校上海网站搜索引擎优化
  • 国外做蒸汽锅炉的网站wordpress的站 做固定链接301重定向对百度的影响
  • 网络-分包/客户端ID冲突/超时重传/重复提交与状态一致等
  • 手机网站建设目标石家庄网站建设咨询薇
  • MSVC 链接器处理input file的逻辑
  • 阿里巴巴网站怎么做全屏分类自助建站自己要做网站的来看下
  • 商城类网站总体功能策划网站制作方案大全
  • 串的模式匹配算法 ← BF算法
  • 网站后台账号密码获取网站购物车建设
  • 网站怎么看被百度收录给网站添加代码
  • 旅游企业公司网站建设网页制作基础知识答案
  • 电子商务网站建设的意义是什么意思住房和城乡建设部贰级建造师网站
  • 海南建设工程股份有限公司网站企业网站管理系统添加教程
  • 做语文课文网站的好处网站正在建设中 页面
  • 深圳网页服务开发与网站建设做质粒图谱的网站
  • 工长网站开发注册一个网站要多少钱
  • 住房和城乡建设部网站查询手机免费网站制作
  • 盐城建设公司网站网站运营维护的基本工作
  • 第9讲:列表与网格:展示动态数据
  • Python 3 文件操作指南
  • 网址站网站建设入门教程视频教程
  • 北京网站推广公司排名网站的后期维护自己怎么做
  • 注册top域名做公司网站大连网站搜索优
  • java学习--for循环、if判断、switch、while、do-while