hashcode相关内容

为什么必须重写Hashmap的哈希码和equals方法?

我创建了一个以 Student 作为键,并将String作为值的HashMap。 现在我到处都读过它如果用作哈希图的键,则必须重写 equals 和 hashcode 方法。 但是我没有覆盖它。并在哈希图中插入多个键值对。 我也可以将其取回。 那为什么有必要? 解决方案 当您要将对象用作使用哈希的集合中的有用哈希键时,它们是必需的。 您是否尝试过添加有意义的 St ..
发布时间:2020-10-05 06:21:11 Java开发

hashCode的作用是什么?它独特吗?

我注意到WP7中的每个控件,项中都有一个 getHashCode()方法,该方法返回一个数字序列。我可以使用该哈希码来识别商品吗?例如,我想识别设备中的图片或歌曲,并检查其位置。如果为特定项目指定的哈希码是唯一的,则可以这样做。 您能帮我解释一下什么是hashCode和 getHashCode()用于? 解决方案 MSDN说: 哈希码是一个数值,用于在相等性测试期间标识对象 ..
发布时间:2020-09-25 18:58:19 C#/.NET

Scala:将数组放入Set或Map中的轻巧方式

由于==不适用于数组,因此我无法有效地创建一组数组(或带有数组键的Map).我宁愿不承受将数组转换为Vector或List或其他东西的性能损失.是否有一种轻量级的方法来定义数组上的自然比较和哈希码,以便我可以将它们粘贴到集合中? 解决方案 使用scala> new WrappedArray.ofInt(Array(2, 3, 4)) res35: scala.collection.muta ..
发布时间:2020-09-07 06:45:08 其他开发

有没有一种方法可以使用ReSharper自动生成GetHashCode和Equals?

在eclipse中,当我用Java编写代码时,有一项功能可以自动生成hashCode()和equals()的基本,高效且无错误的实现,而无需消耗脑力. Visual Studio或ReSharper中是否内置有类似的功能? 解决方案 是的,Resharper可以做到.将光标放在类型中,打开"Generate code"菜单( Alt + Ins 取决于设置,或按 Resharper- ..
发布时间:2020-07-27 02:58:40 C#/.NET

Java HashSet包含无法使用的功能

我正在编写一个简单的程序,如下所示:给定两个数字M和N,p来自[M,N],q来自[1,p-1],求出p/q的所有不可约分数. 我的想法是蛮力所有p,q的值.并使用HashSet避免重复分数.但是,以某种方式包含的功能不能按预期方式工作. 我的代码 import java.util.HashSet; import java.util.Set; public class Fraction ..
发布时间:2020-07-25 21:33:35 Java开发

在iOS发行版中稳定的String的哈希值?

在iOS的文档String.hash中说: 您不应该依赖此属性在所有属性上具有相同的哈希值 OS X版本. (奇怪的是为什么他们在iOS文档中提到OS X) 嗯,我需要一个哈希功能,该功能在iOS版本中不会更改.可以很简单,我不需要任何类似SHA的东西.有图书馆吗? 在此处还有另一个问题,但是那里被接受的(唯一的)回答只是表明我们应该尊重文档中的注释. 解决方案 这 ..
发布时间:2020-07-25 20:55:37 移动开发

字符串的持久哈希码

我想为字符串生成一个整数哈希码,它将永远保持不变;也就是说,相同的字符串应始终产生相同的哈希码. 哈希不必具有加密安全性,也不会用于密码或敏感数据. 我的第一个尝试是使用.net框架string.GetHashCode()函数. 但是,在阅读源代码后,我发现了以下几点看法: // We want to ensure we can change our hash function ..
发布时间:2020-07-25 20:45:13 C#/.NET

使用哈希码对对象的ArrayList进行排序

我有一个对象的ArrayList(POJO),它们具有一个ID和另一个字段.我已经在POJO中为Id字段实现了equals()/hashcode()重写.当我使用Object类的equals()方法比较两个对象时,它可以很好地工作.但是,当我将这些对象添加到arraylist并实现 Collections.sort(arrListOfObjects); 它给了我一个classCastex ..
发布时间:2020-07-21 04:24:12 Java开发

如果我的网站导航依赖于URL中的哈希标签,我可以使用ShareThis/AddThis按钮吗?

我想在我的网站上嵌入一个ShareThis/AddThis按钮,但是网站的导航依赖于URL中的Hash标签.每个页面都分配有唯一的哈希值(即 http://domain.com/index.php#products ).不能更改导航/页面设计.这些服务是否会保留哈希值(均在页面上嵌入JS)?如果没有,有什么替代解决方案? 解决方案 只需将#替换为%23(#的URL编码版本),就可以了. ; ..
发布时间:2020-07-07 02:06:41 其他开发

通过SQL和C#为分区密钥创建密钥

我有一组数据,这些数据具有3级层次结构.每个级别都有一个名称. 我正在考虑将所有这些名称组合成一个字符串,然后创建一个可用作服务结构状态服务的哈希键的数字哈希. 我在网上看到了很多有关使用键查找数据的信息,但是我不确定如何有效地实际创建它们. 理想情况下,我想在SQL Server 2017和C#中快速且轻松地生成哈希. 有人可以指出我的正确方向吗? 保罗 解决 ..
发布时间:2020-07-06 23:59:42 C#/.NET

Java,Object.hashCode()结果是否在所有JVM/系统中都为常数?

在同一对象的所有JVM实现上,Object.hashCode()的输出是否必须相同? 例如,如果"test".hashCode()在1.4上返回1,它是否有可能返回在1.6上运行的2.或者,如果操作系统不同,或者实例之间存在不同的处理器体系结构,该怎么办? 解决方案 否. hashCode的输出可能会在JVM实现之间甚至在同一JVM上的程序的不同执行之间发生变化. 但是,在您给 ..
发布时间:2020-06-26 22:44:52 Java开发

hashCode唯一性

Object的两个实例是否可以具有相同的hashCode()? 从理论上讲,对象的hashCode是从其内存地址派生的,所以所有hashCodes都应该是唯一的,但是如果对象在GC中移动,该怎么办? 解决方案 给出合理的对象集合,很可能会有两个具有相同的哈希码.在最好的情况下,它成为生日问题,与数以万计的对象发生冲突.在实践中,对象创建时使用的哈希码池相对较小,并且仅数千个对象就很容 ..
发布时间:2020-06-26 21:40:11 Java开发

具有相同哈希码的两个Java对象不一定相等吗?

我理解为什么为两个相等的对象(通过equals)提供相同的哈希码很重要.但是反之亦然,如果两个对象具有相同的哈希码,它们必须相等吗?合同还存在吗?我找不到一个可能发生这种情况的示例,因为如果所有参与equals方法的属性都被用来覆盖hashcode方法,那么我们将始终对相等的对象使用相同的hashcode.请发表评论. 解决方案 如果两个对象具有相同的hashcode,则它们不一定相等.否 ..
发布时间:2020-06-26 20:57:43 Java开发

关于Object.hashcode()和冲突

我正在阅读 JavaDoc 表示Object.hashCode方法 在合理可行的范围内,由Object类定义的hashCode方法确实为不同的对象返回不同的整数. (通常通过将对象的内部地址转换为整数[...]来实现) 但是无论其实现是什么,hashCode方法始终返回一个(假设为正数)整数,因此,给定Integer.MAX+1不同的对象,它们中的两个将具有相同的哈希码. 为什么 ..
发布时间:2020-06-17 19:32:08 Java开发