hashcode相关内容

单例意味着哈希码总是返回相同的吗?

我有两个对象,分别来自同一类的o1和o2. 如果是o1.hashcode() == o2.hashcode(),我可以说它们是同一个对象吗? 在o1==o2旁边,还有其他方法可以告诉单身人士. 解决方案 如果您有该类的单个实例,则==和equals比较将始终返回true. 但是,hashcode对于不同的对象可以相等,因此不能仅仅通过具有相等的哈希码来保证相等. 此 ..
发布时间:2020-11-22 05:17:02 Java开发

将int从c#gethashcode()转换回字符串?

一个非常简单的问题: 我正在做一件简单的事情.我只有几个string: string A = "usd"; 我想在C#中获取哈希码: int audusdReqId = Convert.ToInt32("usd".GetHashCode()); 现在如何将32位整数audusdReqId转换回string"usd"? 解决方案 您不能.哈希码不包含将其转换回字 ..
发布时间:2020-11-22 05:16:00 C#/.NET

Java中的String hashCode是否已预先计算?

我说的 在Java中. String str= "abcd"; str.hashCode(); 我的问题是何时计算哈希码? @第1行还是@第2行? 我假设,哈希码是预先计算的.每当字符串更新时,哈希码也将“可能"更新. 或另一种方式,即每次调用str.hashCode()时,java使用描述的公式 Java字符串上hashCode()的一致性 解决方案 由于字符串是不 ..
发布时间:2020-11-22 05:15:57 Java开发

C#:相同的对象必须具有相同的HashCode吗?

假设我有两个对象,分别为K和M if(K.Equals(M)) { } 如果是这样,K和M 始终具有相同的还是取决于编程语言? 解决方案 GetHashCode()的合同需要它,但是由于任何人都可以自己制定实现,因此永远不能保证. 许多类(尤其是哈希表)都需要它才能正常运行. 如果要实现一个类,则应始终确保两个相等的对象具有相同的哈希码. 如果要实现实用程序方 ..
发布时间:2020-11-22 05:14:55 C#/.NET

hashCode()值在两次执行之间发生变化

对象的 hashCode 必须在应用程序的整个执行过程中与该对象保持一致- 对于任何 o对象,o.hashCode()应该返回相同的 int 值. 但是,这不必是从一个运行时到另一个运行时: o.hashCode() 可以返回其他值,而规范. HashMap 根据 hashCode 值计算应得的权利. 我的问题是:这个值在一个会话到另一个会话之间如何变化? 序列化是否具有处理此 ..
发布时间:2020-11-22 05:13:53 Java开发

有什么办法可以看到原始类型的HashCode吗?

搞砸基本D.S ....我读到,没有用于原始类型int的hashCode()方法,如果在int上调用,它将抛出错误 错误:无法取消引用int 这是否意味着如果int n = 10,则其HashCode也将为10? 如果我仍然需要在下面的程序中查看int的hascode,是否有一种方法可以查看它,例如Integer Wrapper ??? public static void ..
发布时间:2020-11-22 05:13:50 Java开发

Java中的对象标识哈希码

我有这个问题. 我一直在我的项目中工作(我也在使用EMF Compare).我需要为正在使用的每个对象保留唯一的ID,这就是为什么我决定使用IdentityHashCode的原因,据我了解,此值在编译过程中是相同的. 我已经在另一个类的方法中将对象作为参数提供,但是当我尝试获取哈希码时,这与打印对象的值时看到的不一样. 类似这样的东西: System.out.println ..
发布时间:2020-11-22 05:13:46 Java开发

哈希码比较问题

我有一个对象列表,在我们的例子中称为规则,该对象本身是字段列表,我必须对其进行哈希码比较,因为我们不能在 系统. i.e假设我有两个规则R1和R2,其中的字段A& B. 现在,如果A&的值为R1中的B分别是7和2. 在R2中分别为3和4,然后我使用了检查重复性的过程 哈希码比较的系统中的规则失败 我使用的方法是 for(Rule rule : rules){ chan ..
发布时间:2020-11-22 05:13:43 Java开发

哈希码,等于合同,反之亦然

我知道合同说“如果两个对象相等,那么它们应该返回相同的哈希码".也就是说,那些对象可以放置在相同的哈希桶中,并提高与哈希代码相关的收集功能的了解.再说一遍为什么为什么说“如果两个对象具有相同的哈希码,那么它们不应该总是相等的".我的意思是,如果合同中的内容是正确的,我们应该说“如果两个对象相等,它们可能会返回相同的哈希码,但这不是强制性的" 解决方案 我的意思是,如果合同中的内容是正确 ..
发布时间:2020-11-22 05:12:38 Java开发

在什么条件下,两个不同的对象可能具有相同的hashcode()值.

我知道的是:- "int hashCode()返回对象的内存地址为 对象的默认哈希值." 如果引用x和y表示两个不同的对象,则表达式 (x.hashCode() == y.hashCode())并不总是错误的 所以,我想问问在什么情况下2个不同对象的哈希值相同. 解决方案 您可以在课程中覆盖hashCode.您通常会将其与覆盖equals一起覆盖,因此,如果a.equal ..
发布时间:2020-11-22 05:12:34 Java开发

为什么在GetHashCode实现中使用初始素数?

查看什么是最佳算法对于一个被覆盖的System.Object.GetHashCode?我很惊讶,在许多提示类型为hash = hash*(prime) + item.GetHashcode()的哈希码的答案中,哈希值最初都植入了另一个素数而不是0. 我了解计算部分中互质数有用的原因有很多. 我不明白的是为什么哈希首先要初始化为非零数字. 看一个确切的例子: int hash ..
发布时间:2020-11-22 05:12:31 C#/.NET

等于具有浮点字段的案例类

可以创建带有浮点字段的案例类,例如: case class SomeClass(a:Double, b:Double) 我猜想自动生成的equal方法在这种情况下不起作用. 覆盖等于最佳解决方案吗? 编辑: 如果要使用等于的方法,我想避免对epsilon进行硬编码(其中epsilon的定义是=> | this.a-a | ..
发布时间:2020-11-22 05:12:22 其他开发

HashMaps和Null值?

如何将空值传递到HashMap中? 以下代码段适用于填充的选项: HashMap options = new HashMap(); options.put("name", "value"); Person person = sample.searchPerson(options); System.out.println ..
发布时间:2020-11-22 05:12:19 Java开发

有什么方法可以使hashCode/equals与类的业务定义保持一致?

对象javadocs和Josh Bloch向我们介绍了如何实现hashCode/equals,并且好的IDE可以正确处理各种类型的字段. 此处对此进行了一些讨论. 这个问题是关于下一步的:您如何确保它们保持良好? 尤其是,我觉得对于大多数类,应该按照Bloch的建议(以及Eclipse和其他IDE的实现)来实现equals/hashCode,并考虑该类上所有非派生的业务逻辑字段.在将新 ..
发布时间:2020-11-22 05:12:10 Java开发

一组三个字段的哈希码

我有三个字段,即 Number1 Number2 时间 我正在尝试用Java语言编写一个函数,该函数为上述字段返回唯一的哈希值( long必须是哈希的返回类型).然后,此哈希将用于在HashSet中存储与上述字段相对应的数据库行.我刚开始编写哈希码功能,有人可以复习一下我拥有的内容吗. public class HashCode { private long Num ..
发布时间:2020-11-22 05:12:07 Java开发

相同的GetHashCode()用于不同的对象

执行这段代码后: int a = 50; float b = 50.0f; Console.WriteLine(a.GetHashCode() == b.GetHashCode()); 我们得到False,这是预期的,因为我们正在处理不同的对象,因此我们应该获得不同的哈希值. 但是,如果我们执行此操作: int a = 0; float b = 0.0f; Console.W ..
发布时间:2020-11-22 05:11:05 C#/.NET