hashcode相关内容

如何让Lombok的EqualsAndHashCode与BigDecimal一起工作

我正好有here描述的问题。这就是说,如果BigDecimal的等号被破坏,那么在类中有这样的字段就无法使用@EqualsAndHashCode。我想出的唯一解决方案就是使用exclude这样的字段,但这当然不是最优的。 有什么解决办法吗?有没有办法为字段/类型插入我自己的比较器? 推荐答案 我最近遇到了同样的问题。 基本上,您会看到以下行为: BigDecimal ..
发布时间:2022-05-16 11:17:14 Java开发

在 Java 中覆盖 equals 和 hashCode 时应该考虑哪些问题?

在覆盖 equals 和 hashCode 时必须考虑哪些问题/陷阱? 解决方案 理论(语言律师和数学爱好者): equals() (javadoc) 必须定义一个等价关系(它必须是reflexive、symmetric和transitive).此外,它必须是一致的(如果对象没有被修改,那么它必须保持返回相同的值).此外,o.equals(null) 必须始终返回 false. ..
发布时间:2022-01-30 08:37:11 Java开发

获取文件 SHA256 哈希码和校验和

之前我问过一个关于组合 SHA1+MD5 的问题,但之后我明白了计算 SHA1 然后计算 lagrge 文件的 MD5 并不比 SHA256 快.在我的例子中,一个 4.6 GB 的文件大约需要 10 分钟,在 Linux 系统中使用默认实现 SHA256 和 (C# MONO). public static string GetChecksum(string file){使用 (FileStr ..
发布时间:2022-01-23 14:40:59 C#/.NET

在 cocos2d 中如何实现 touch hash code 并在后面引用呢?

如何实现触摸哈希码并在以后引用它?我已经阅读了“哈希"代码,但我不明白如何使用它.我想知道我的两个精灵何时同时被触摸,就像在钢琴的两个琴键上按下一个和弦一样. 以下是我的 ccTouchesBegan 示例: - (void) ccTouchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {NSSet *allTouches = [事件 ..
发布时间:2022-01-21 17:54:05 移动开发

Boolean.hashCode()

Boolean类的hashCode()方法是这样实现的: public int hashCode() {返回值?1231:1237;} 为什么使用 1231 和 1237?为什么不是别的? 解决方案 1231 和 1237 只是两个(足够大)任意素数.任何其他两个大素数都可以. 为什么是素数? 假设我们选择了合数(非素数),比如 1000 和 2000.当将布尔值插入哈希表时, ..
发布时间:2022-01-19 17:08:43 Java开发

Java hashCode 不适用于 HashMap?

我正在尝试使用 HashMap 实现一个稀疏网格,但是似乎覆盖 hashCode() 并不能完全按照我的预期工作.我将我的问题归结为以下代码: 公共类 Main {私人静态类坐标{整数 x, y;公共坐标(int x,int y){这个.x = x;这个.y = y;}@覆盖公共 int hashCode() {//见 https://en.wikipedia.org/wiki/Pairing_ ..
发布时间:2022-01-18 10:09:00 Java开发

JavaScript中是否有任何类型的哈希码函数?

基本上,我正在尝试创建一个由唯一对象组成的对象,一个集合.我有一个绝妙的想法,就是使用带有对象作为属性名称的 JavaScript 对象.比如, set[obj] = true; 这在一定程度上可行.它适用于字符串和数字,但对于其他对象,它们似乎都“散列"到相同的值并访问相同的属性.有什么方法可以为对象生成唯一的哈希值吗?字符串和数字是怎么做的,我可以覆盖相同的行为吗? 解决方案 Ja ..
发布时间:2022-01-17 18:02:34 前端开发

JVM 如何确保 System.identityHashCode() 永远不会改变?

Object.hashCode() 的默认实现通常是对象在内存中的分配地址的一些函数(尽管这不是由 JLS).鉴于 VM 在内存中分流对象,为什么 System.identityHashCode() 返回的值在对象的生命周期内永远不会改变? 如果是“一次性"计算(对象的 hashCode 计算一次并存储在对象头或其他东西中),那么这是否意味着两个对象有可能具有相同的 identityHash ..
发布时间:2022-01-16 11:55:17 Java开发

hashCode、实现以及与 HashMap 的关系

所以我在这里问了另一个相关问题:java string hash function with avalanche effect,但我现在有一个不同的相关问题. 我在那个问题中确定的是 String 的 hashCode() 函数没有雪崩效应.这意味着,例如,如果我有字符串“k1"、“k2"、“k3",并且我在每个字符串上调用 hashCode(),则返回的值将是连续的. 现在,根据我对 ..
发布时间:2022-01-08 14:38:31 Java开发

更新 Java HashMap 键

我只是想知道,如果 HashMap 的键是可变的会发生什么,下面的测试程序证明了这一点,我无法理解 equals 和 hashCode 方法何时返回true 和相同的值,为什么 hashmap.containsKey 返回 false. 公共类 MutableKeyHashMap {公共静态无效主要(字符串[]a){HashMapmap = new HashMap ..
发布时间:2022-01-08 14:32:49 Java开发

当对象 Hashcode 更改时,Hashmap 或 Hashset 中的查找会发生什么

在 Hashmap 中,提供的键的哈希码用于将值放置在哈希表中.在哈希集中,对象哈希码用于将值放置在底层哈希表中.也就是说,hashmap 的优点是你可以灵活地决定你想要什么作为 key,这样你就可以做这样的好事. 地图玩家 = 新的 HashMap(); 这可以将诸如玩家姓名之类的字符串映射到玩家本身. 我的问题是,当键的 Hashcode 发生变化时,查找会发生什么变化. 我希 ..
发布时间:2022-01-08 14:32:25 Java开发

Java 8 中字符串键的替代散列是什么?

Java 8 正在为字符串键提供替代散列,以在遇到大量键散列代码冲突时提高性能.谁能解释一下那是什么以及它是如何工作的? 解决方案 来自 core-lib-devs@openjkd的="noreferrer">这封电子邮件: 引入了新的接口 Hashable32. Hashable32提供了一个方法hash32() String 实现 Hashable32 和 hash32() ..
发布时间:2022-01-08 14:29:52 Java开发

为什么 hash map 比 trie map 好?

trie map 是指关联数组,其中有效负载存储在 trie 而不是哈希表中. 当我使用哈希映射/表时,我使用的键通常是字符串.与某些基于 trie 的映射相比,哈希映射有哪些优势?我已经读过哈希映射更快 - 但在我看来,一致的哈希函数必须检查 (char) 数组的每个元素以获取最终哈希 - 遍历数组一次.在 trie 中,您同样必须只对数组进行一次迭代. 在我看来,这在对小对象进行编 ..
发布时间:2022-01-08 14:20:42 其他开发

HashMap resize方法实现细节

正如标题所示,这是一个关于 HashMap#resize 的实现细节的问题 - 即内部数组的大小翻倍.这有点罗嗦,但我真的试图证明我已经尽我所能理解这一点...... 这发生在此特定存储桶/bin 中的条目以 Linked 方式存储时 - 因此具有准确的顺序并且在问题的上下文中 这很重要. resize 通常也可以从其他地方调用,但我们只看这种情况. 假设您将这些字符串作为键放在 ..
发布时间:2022-01-08 13:55:45 Java开发

hashmap 中的 bucket 到底是什么?

最近,在一次采访中,有人问我,hashmap 中的桶到底是什么?无论是数组还是数组列表还是什么? 我很困惑.我知道哈希图由数组支持.那么我可以说bucket是一个容量为16的数组,开始存储hashcode,哪些链表有起始指针? 我知道哈希图在内部是如何工作的,只是想知道存储桶在数据结构方面到底是什么. 解决方案 不,桶是你所指的数组中的每个元素.在早期的 Java 版本中,每个 ..
发布时间:2022-01-08 13:55:39 Java开发

具有相同哈希码的两个不相等对象

Hashcode()和equals()的概念是 1) 如果两个对象根据 equal() 相等,则对这两个对象中的每一个调用 hashcode 方法应该会产生相同的 hashcode. 另一个是 2) 不要求如果两个对象根据equal()不相等,则对两个对象中的每一个调用hashcode方法都必须产生不同的值. 我尝试并理解了第一个,这是第一点的代码. 公共类测试{公共静态 ..
发布时间:2022-01-08 13:55:20 Java开发