文档章节

HashMap hash 原理分析

专业写BUG的程序员
 专业写BUG的程序员
发布于 2017/05/31 08:05
字数 129
阅读 25
收藏 0

HashMap 选择 & 操作作为hash函数 。

000000000000000000000000000000001     2-1

000000000000000000000000000000011     4-1

000000000000000000000000000000111     8-1

000000000000000000000000000001111     16-1

000000000000000000000000000011111     32-1

000000000000000000000000000111111     64-1

 

如果 任意一个1换为0 则意味着不管被哈希数字对应位上是0还是1,都会被hash到同一个位置。极端情况

&0 进行哈希则所有数字都被哈希到 0 号位。

 

为什么有 (h = key.hashCode()) ^ (h >>> 16); 操作 ;

00000000000001110000000000000000

00000000000011110000000000000000

如果没有位移操作则这两个数会被 hash 到同一位置。

 

 

© 著作权归作者所有

共有 人打赏支持
专业写BUG的程序员
粉丝 7
博文 105
码字总数 20505
作品 0
海淀
私信 提问
HashMap, HashTable, HashSet分析

HashMap分析: 其主要特性:(key-value)存储,key-value可为NULL, 非线程安全。 其主要属性: //默认容量微16static final int DEFAULTINITIALCAPACITY = 1 << 4;//最大容量2^30static fina...

ihaolin
2014/03/11
0
0
HashMap-你可能需要知道这些

HashMap是Android程序员(当然也包括Java程序员)经常使用的映射数据类型,伴随着JDK的版本更新,JDK1.8相比1.7对HashMap的底层实现了一些优化,尤其是红黑树这个点(现在面试的时候基本都会问...

24K男
2017/10/09
0
0
源计划之从HashMap认识数据结构

之前一直说看HashMap源码一直没有看过,以至于面试时候,没能够说清楚很多问题,现在面试基本都会问到的一道问题,就是HashMap源码,你是否看过HashMap源码,HashMap的具体数据结构是怎么的。...

vn熊
2018/07/24
0
0
Java容器源码分析-HashMap vs TreeMap vs LinkedHashMap

这里我采用的分析方式是帖子博客加上自己翻看jdk源码。有些情况下写一些测试的算法小例子加深印象。我这里只描述一下自己的总结想法 上一篇文章我们研究了set接口下的几个容器,由于其Set集合...

贾浩v
2017/10/19
0
0
hashMap实现原理

1、HashMap概述: 1)HashMap实现了Map接口,与HashTable等效,除了HashMap是线程不同步的,且允许空value,空key;且不保证映射的顺序,特别是它不保证顺序恒久不变 2)该实现提供了常量时间...

small达达
2016/02/01
422
0

没有更多内容

加载失败,请刷新页面

加载更多

关于eclipse2017 import javax.servlet.jsp.tagext引入错误得问题

在eclipse中: 这个javax.servlet.jsp.tagext属于是tomcat相关jar包找到jsp-api.jar 在tomcat文件夹下边的lib文件夹中就有 如果项目中报错的话 把这个加入到项目中 在myeclipse中: 如下图,...

ZhangLG
7分钟前
0
0
如何用RSS订阅?

本文由云+社区发表 摘要:我们常常会有订阅别人文章的需求,有更新的时候希望能有提醒的功能,RSS就是这样一个订阅的方式。很多网站上看到RSS的入口,点进去以后总是显示一堆的XML代码,我们...

腾讯云加社区
8分钟前
0
0
springcloud整体架构

架构 说明 针对这个架构图我分层介绍一下: 1、是web服务器的选型,这个我选择的是nginx+keepalived,haproxy也是一个选择,但是haproxy在反向代理处理跨域访问的时候问题很多。所以我们ngi...

张欢19933
10分钟前
0
0
Linux权限详解

Linux权限详解 命令之 chmod:修改权限 阅读目录(Content) 权限简介 一、快速入门 更改文件权限 (chmod命令) 一般使用格式 数字权限使用格式 更改文件拥有者(chown命令) 二、Linux权限详...

hblt-j
17分钟前
0
0
postgres预写式日志的内核实现详解-heap2类型

导读: postgres预写式日志的内核实现详解-概述 postgres预写式日志的内核实现详解-wal记录结构 postgres预写式日志的内核实现详解-wal记录写入 postgres预写式日志的内核实现详解-wal记录读...

movead
34分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部