Hash
陆圈圈呀~
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HashMap
1.HashMap的概述 HashMap 是基于哈希表的 Map 接口的非同步实现。 这个实现提供所有可选的映射操作, 并允许使用 null 值和 null 键。 Hashmap实际上是一个数组和链表的结合体(在数据结构中,一般称之为“链表散列“)。 2.HashMap的数据结构 横排表示数组,纵排表示数组元素【实际上是一个链表】 equals方法与hashcode的重写 Object.e...原创 2019-09-14 10:13:55 · 121 阅读 · 0 评论 -
哈希冲突
什么是哈希冲突 概念 哈希算法被计算的数据是无限的,而计算后的结果范围有限,因此总会存在不同的数据经过计算后得到的值相同,这就是哈希冲突。 键(key)经过hash函数得到的结果作为地址去存放当前的键值对(key-value)(这个是hashmap的存值方式),但是却发现该地址已经有值,就会产生冲突。 (自己理解)不同的的key经过hash函数去存放当前键值对时,但经过key转换为hashco...原创 2019-09-14 10:14:22 · 216 阅读 · 0 评论 -
HashTable,HashMap的区别
HashMap和Hashtable都实现了Map 接口,但是具体要使用哪一个,需要先了解它们存在怎样的区别,然后再根据具体的情况做出选择。 线程问题 HashMap是非synchronized的,而Hashtable是synchronized的。这说明Hashtable是线程安全的,而且多个线程可以共享一个Hashtable;(synchronized 关键字,代表这个方法加锁,相当于不管哪一个...原创 2019-09-14 10:14:09 · 165 阅读 · 0 评论 -
重写hashcode与equlas
重写hashcode与equlas的目的就是保证存放到Set集合或者Map中键值对的元素的唯一性。 不被重写(原生)的hashCode值是根据内存地址换算出来的一个值。 不被重写(原生)的equals方法是严格判断一个对象是否相等的方法(object1 == object2) 重写equlas的原因:对任何非空引用值x,y引用同一对象时,返回的是true。 重写equlas之后,就必须重写ha...原创 2019-09-14 10:13:14 · 207 阅读 · 0 评论
分享