你们好,最近小元发现有诸多的小伙伴们对于hashmap原理及扩容,hashmap原理这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。
1、 哈希表的存储原理:
2、 我们知道,哈希表的存储使用数组和链表。传入键值对数据时,系统先取出键值,用hash函数将其转换成hash值,然后用hash法(这里用除法hash法取余数)得到下标索引;需要存储在数组中。
3、 得到数组下标后,我们可以将键值一起存储在数组中。
4、 当index用于存储键值对时,如果这个下标已经有数据,那么两个hash值是否相同将通过equals方法进行比较。如果相等,则比较两个键值对是否相等。如果不是,在这个下标位置,以链表的形式,
5、 将新存储的数据放在头中;如果它们相等,则为原始值;将被覆盖;
6、 哈希表的查询原理;
7、 和在存储中一样,键值首先通过哈希函数转换成指向内存地址的哈希值;
8、 通过equals方法,比较哈希值找到对应的内存地址,再通过内存地址找到对应的链表。此时通过equals方法,比较键值是否相等。如果是,取出键-值对来返回数据。如果不是,
9、 继续往下看列表对比。
10、 总结:
11、 哈希表通过传入的键值对引用一个连续的存储空间(数组存储),将键值对存储在数组中;对于指向相同存储空间的散列值,
12、 然后以链表方式存储;这样,hashmap不仅具有快速数据查询的特点,还具有方便插入和删除链表的特点。因此,hashMap对于数据存储查询具有非常好的特性;
以上就是hashmap原理这篇文章的一些介绍,希望对大家有所帮助。
-
多家中小银行跟进下调存款利率,整体仍
10月下旬以来,多家农商行、村镇银行发布存款利率调整通知,对一年期、三年期、五年期等存款利率进行下调,同时,下调幅度从10个…
-
叮咚买菜正式入驻淘宝买菜,联手给消费
11月9日消息,天猫双11期间,叮咚买菜入驻淘宝买菜,将联手提供1小时到家服务,为消费者们带来优质、更低价的商品。据介绍,这是…
-
华为再次开启了先锋计划推出了Mate 60
今天上午,华为再次开启了先锋计划,推出了Mate 60 Pro+和Mate X5两款手机。尽管没有任何宣发,但Mate X5作为理财神器的继任者,仍然展现了…
-
华为推出新一代折叠屏手机Mate X5
华为推出新一代折叠屏手机Mate X5,该款手机于昨日开始预订,订金为1000元,最终价格尚未公布。Mate X5采用横向大折叠设计,内屏为7.85英…
-
鹅蛋的做法大全家常做法(鹅蛋的做法大
你们好,最近小元发现有诸多的小伙伴们对于鹅蛋的做法大全家常做法,鹅蛋的做法大全家常这个问题都颇为感兴趣的,今天小活为大家梳理了下,…