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

响应式网站 开发成都古怪科技网站建设公司

响应式网站 开发,成都古怪科技网站建设公司,wordpress 登录发布,网页小程序开发HashMap 的 put 方法是一个常用的操作#xff0c;它将一个键值对插入到哈希表中。下面是 put 方法执行的详细流程#xff0c;包括各个步骤的解释#xff0c;并附上相应的代码片段。 1. 检查键是否为 null 如果传入的键为 null#xff0c;HashMap 会特别处理这种情况…HashMap 的 put 方法是一个常用的操作它将一个键值对插入到哈希表中。下面是 put 方法执行的详细流程包括各个步骤的解释并附上相应的代码片段。 1. 检查键是否为 null 如果传入的键为 nullHashMap 会特别处理这种情况因为 null 是允许作为键的但是它会在特殊位置通常是数组的第一个位置存储。 if (key null) {return putForNullKey(value); }2. 计算哈希值 对于非 null 的键HashMap 会首先计算出该键的哈希值。哈希值的计算是通过调用键的 hashCode() 方法再经过一定的扰动处理以减少哈希冲突。 int hash hash(key.hashCode()); int index indexFor(hash, table.length);这里的 hash() 是一个方法用于对键的哈希值进行扰动indexFor() 方法则用来根据计算出的哈希值找到数组中的位置。 3. 查找位置 接下来HashMap 会根据计算出的索引index来查找对应的桶数组位置。如果该位置已经存在元素则会检查该位置的链表或红黑树结构查看是否已经存在相同的键。 for (EntryK,V e table[index]; e ! null; e e.next) {K k;if (e.hash hash ((k e.key) key || key.equals(k))) {V oldValue e.value;e.value value;return oldValue;} }4. 插入新元素 如果在相应位置没有找到相同的键HashMap 会将新的键值对插入到桶中。如果该位置为空直接插入该元素。如果该位置已经存在链表或红黑树则会把新元素加入到链表头部或树中。 createEntry(hash, key, value, index);5. 扩容 HashMap 会根据当前的负载因子默认是 0.75来判断是否需要扩容。如果当前元素数量超出了负载因子的限制HashMap 会进行扩容操作这会重新计算每个元素的位置并将元素重新插入到新的数组中。 if (size threshold)resize();完整代码示例 public V put(K key, V value) {if (key null) {return putForNullKey(value);}int hash hash(key.hashCode());int index indexFor(hash, table.length);for (EntryK,V e table[index]; e ! null; e e.next) {K k;if (e.hash hash ((k e.key) key || key.equals(k))) {V oldValue e.value;e.value value;return oldValue;}}createEntry(hash, key, value, index);if (size threshold) {resize();}return null; }private int hash(int h) {h ^ (h 20) ^ (h 12);return h ^ (h 7) ^ (h 4); }private int indexFor(int hash, int length) {return hash (length - 1); }private void createEntry(int hash, K key, V value, int bucketIndex) {EntryK,V e table[bucketIndex];table[bucketIndex] new Entry(hash, key, value, e); }private void resize() {// 扩容的具体实现 }关键点总结 哈希值计算使用 hashCode 和扰动函数来减少冲突。桶的查找通过数组索引查找对应位置如果发生冲突使用链表或红黑树来存储多个元素。元素插入如果该位置没有找到相同的键插入新元素。扩容机制当负载因子达到一定比例时HashMap 会扩展数组并重新散列元素。 这个过程对于每次调用 put 都是会依次执行的确保 HashMap 的高效插入与查询操作。
http://www.dnsts.com.cn/news/209228.html

相关文章:

  • 金蝶进销存管理系统奉化网站关键词优化费用
  • 二手交易网网站建设目标网站定制论坛
  • 电商 网站 设计wordpress英文主题改成中文
  • 门户网站静态页面有名的设计工作室
  • 做软装有什么网站找图片网站建设具备知识技能
  • 智慧小区网站建设哪些网站有二维码
  • 建站网站知乎wordpress添加下载
  • 做网站实训目的和意义中国互联网发展报告2023
  • 如果搭建网站电子商务公司名字
  • 网站怎么制作网站开发 erp系统开发
  • 上海企业网站备案凡科建站多少钱
  • phpcms网站打不开西宁网站建设的企业
  • 获取网站访客qq信息十年经验网站开发公司
  • wh网站建设临沂做网站的公司
  • 手机文章网站源码潜江资讯网招聘临时工
  • 表白网站是怎么做的网站目录管理系统模板
  • 五原网站建设360免费wifi电脑版官方下载
  • 卖护肤在哪个网站做宣传好学校网站建设用哪个系统
  • 做特卖的网站雅美盛典潍坊建站程序
  • 大学生做的网站游戏网站建设赚钱
  • 电子商务网站建设与维护李建忠我局在网站建设方面
  • 微网站在哪个平台上搭建好 知乎品牌手表网站
  • 做房产网站用什么软件山东网站制作应用
  • 网站建设做网站好吗安阳哪里做网站
  • 如何做自己的加盟网站宝洁网站建设
  • 徐州集团网站建设方案建个外国网站
  • 网站配色方法做网站买别人的服务器
  • 网站建设的空间指的是做网站服务器一年多少钱
  • 什么是专业网站外贸网站建设 google
  • 化工厂网站建设dhl做运单的网站