发布时间:2025-04-25 19:21:22 点击量:
HASH GAME - Online Skill Game GET 300
哈希表的结构一般是数组和链表联合使用。 当往哈希表中放数据时, 先判断 hashCode 是否相等, 1. 如果相等的情况下, 会调用对象的 equals 方法进行比较, a) 如果仍然相等的情况, 那么会认为是相同对象, HashSet 不会再次添加到集合中(不是覆盖) b) 如果不相等的情况, 那么会使用链接的方式将两个对象进行关联, 然后将后放的对象放到数组的索引中 2. 如果不相等的情况, 那么直接就放置到集合中 New HashMap: 1) loadFactor = 0. 75 //加载因子, 扩大集合容量时的判断因数, 用于极限值的计算 2) threshold = 16*0. 75 = 12 // ...
哈希表的结构一般是数组和链表联合使用。 当往哈希表中放数据时, 先判断 hashCode 是否相等, 1. 如果相等的情况下, 会调用对象的 equals 方法进行比较, a) 如果仍然相等的情况, 那么会认为是相同对象, HashSet 不会再次添加到集合中(不是覆盖) b) 如果不相等的情况, 那么会使用链接的方式将两个对象进行关联, 然后将后放的对象放到数组的索引中 2. 如果不相等的情况, 那么直接就放置到集合中 New HashMap: 1) loadFactor = 0. 75 //加载因子, 扩大集合容量时的判断因数, 用于极限值的计算 2) threshold = 16*0. 75 = 12 // 极限值, 当集合的元素数量到达极限值时, 需要动态扩大集合的容量大小。 3) table size 16 // 哈希表中默认的数组容量, 扩大时自 动为 2 倍 4) 内部类 Entry(key, value, hash, next) // 键值对对象, 存储键对象和值对象以及关联的对象 HashMap. Put 1) 转换空键对象, 如果为空, 那么取一个特定的空对象, 如果不为空, 那么返回 2) 获取键对象的哈希值 3) 将前面得到的哈希值转换为数组索引 堆 0 1 2 3 4 5 Emp Hashcode = 1001 2 Next null Emp2 Hashcode = 1001 2 Next Emp Hashcode = 1002 3