问题标签 [hash-code-uniqueness]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
103 浏览

java - Apache Commons HashCodeBuilder:数字类型的 null 与零

最近,我在使用 Apache Commons Lang 3 的 Java 代码库中遇到了以下哈希码“相等”场景,令我惊讶的是,我找不到太多关于如何处理这似乎是常见问题的信息:

前面的代码产生以下输出,这表明两个对象具有相同的哈希码,尽管它们不相等:

我的对象定义:

虽然我可以理解一个 null Numeric 和 0 Numeric 在纯数学意义上具有相同的散列,但在任何实际设置中,这都会导致不相等的对象具有相同的散列码,这可能会导致相当严重的冲突问题。

澄清/复杂化:虽然我希望能够只调用equals()hashcode()对象,但不幸的是,我正在使用的代码库正在比较两个Objects,这意味着我不知道是否equals()hashcode()实际上是为任何给定输入定义的,而且我在缺少这些方法的情况下,我无法编辑类定义以添加这些方法。这可能是该代码的原作者选择使用reflectionHashCode(). 考虑到这一点,是否有针对此问题的编程/基于代码的解决方案或解决方法,例如不需要equals()hashcode()在被比较的对象上定义的替代库?

0 投票
2 回答
186 浏览

java - Java HashSet 的哈希码唯一性及其子集

如果我有HashSet<Double>一个长度在 1 到 10.000 之间的 Java,那么这个集合的哈希码和它的所有子集是唯一的吗?

0 投票
4 回答
123 浏览

java - 地图条目的哈希码值

根据 map.entry 的 javadocs 哈希码定义为:

请确认,如果按位 XOR 运算符用于计算映射条目的哈希码值?

0 投票
1 回答
108 浏览

java - 两个列表在 equals() 函数下相等但具有不同的哈希码?

我有两个在 equals() 方法下相等的 ArrayList,但它们具有不同的哈希码。这里发生了什么?

根据 Java List API:“list1.equals(list2) 意味着 list1.hashCode()==list2.hashCode() 用于任何两个列表 list1 和 list2,这是 Object.hashCode() 的一般合同所要求的。 "

这是代码:

输出:真-2130368428 1856372392

0 投票
1 回答
197 浏览

aem - AEM 中跨作者的页面内容的 UUID 及其关联的发布服务器不同

具有 UUID(jcr:uuid) 的作者页面被激活,其内容被复制到 3 个关联的发布服务器上。所有 3 个发布服务器中可用的内容具有不同的 UUID。那么,考虑到 AEM 上所有 4 个实例的相同内容(1 个作者 + 3 个发布),如何与独特的东西相关联?

我正在实施一个解决方案,我需要关联一个唯一 ID,该 ID 可以映射到所有实例中的单个内容。

到目前为止我尝试过的方法:

  1. 使用内容路径 - 通过删除路径中的“/”和“-”来生成唯一 ID。 面临的问题- 对于某些路径,这可能超过 128 个字符,这是服务接受唯一 ID 的限制。

  2. 如果我以编程方式生成一个唯一的 ID,它将起作用,但我如何尝试使用它来跟踪后面的内容?因为我无法将这个以编程方式创建的 id 存储在 jcr:content 上并激活页面。 问题- 如果我复制页面,它也会更改激活日期 - 这也是内容的重要元数据。

对于用例来说,最可行的解决方案是什么?请提供建议和可能的解决方案。