hashcode相关内容

使用String hashCode()方法?

来自链接: http ://www.tutorialspoint.com/java/java_string_hashcode.htm Java中hashCode和equals方法之间的关系 好hashCode()实现 但是我无法理解哈希码。 以下是一个例子: public class StringDemo { public static void main( ..
发布时间:2018-12-22 18:52:00 Java开发

Java String上哈希码溢出的后果

我最近在这里阅读了一些关于Java String类'哈希码的内容,而且我还没有找到这个信息:当字符串的长度大于32时会发生什么(我知道溢出会发生,但是哈希键,会发生什么)? 例如,我需要散列长度在20到120个字符之间的字符串,以将它们用作散列键。我是否需要使用BigInteger实现自己的算法? 另外,因为我可能有30k到80k之间的字符串,可能更多,通常的String hashcode ..
发布时间:2018-12-21 21:05:39 Java开发

Java 1.7覆盖hashCode()的行为与我的预期不符

我有一个类,我已经覆盖了hashCode方法和equals方法。 equals方法的行为与我期望的一样,但hashCode方法似乎没有像我期望的那样运行。我假设因为我的期望不正确,但不确定原因。以下是重写的方法: public class Car extends SomeBaseClass实现Cloneable,Serializable { private static final lo ..
发布时间:2018-12-20 23:27:30 Java开发

从多个Java字符串对象创建哈希

实现类似方法的最快和更强大(就唯一性而言)的方法是什么? public abstract String hash(String [] values); values [] 数组有100到1,000个成员,每个成员只有几十个字符,并且每次在不同的 values [] 数组中,该方法需要运行大约10,000次/秒。 是否应使用 StringBuilder 缓冲区 ..
发布时间:2018-12-20 21:52:29 Java开发

Java中的通用对象的HashCode

我理解hashCode的想法以及为什么需要它。但是我对如何为Generic对象计算hashCode感到困惑。所以这是我的问题。如果我有一个String,我可能会使用以下函数来计算hashCode, int hash = 7; for(int i = 0; i ..
发布时间:2018-12-20 01:53:42 Java开发

如果哈希码不同,为什么HashSet允许相等的项?

HashSet 类有一个 add(Object o)方法,不是从另一个类继承的。该方法的Javadoc说明如下: 如果指定的元素尚不存在,则将其添加到此集合中。更正式地说,如果此集合不包含元素 e2 ,那么将指定的元素 e 添加到此集合中c>(e == null?e2 == null:e.equals(e2))。如果此集合已包含该元素,则调用将保持集不变并返回 false 。 换句话说 ..
发布时间:2018-12-19 21:24:17 Java开发

Java中的equals()和hashCode()契约

Bert Bates和Kathy Sierra的SCJP 6学习指南在第554页(以及其他要求中)指出 x.hashCode()!= y.hashCode()要求x.equals(y)== false 。 但是Javadoc for Object没有明确提到这样的要求。引用: 如果两个对象根据equals(Object)方法相等,那么在两个对象中的每一个上调用hashCode方法必须产 ..
发布时间:2018-12-17 11:36:39 Java开发

双向String散列函数

我想获得String的唯一数字表示。我知道有很多方法可以做到这一点,我的问题是你认为哪种方式最好?我不想有负数 - 所以java中的hashcode()函数不太好,虽然我可以覆盖它...但我宁愿不要因为我不那么自信而且不想意外打破一些东西。 我的字符串都是语义网络的URIS。数字表示的原因是当我在页面上显示URI的数据时,我需要将某些内容传递给查询字符串或放入我的javascript中的各个 ..
发布时间:2018-12-12 19:43:54 Java开发

来自一个字段的Java hashCode

编辑:准备我的对象以便在HashMap中使用。 在阅读了一些关于如何生成哈希码的内容之后,我现在很困惑。我的(可能是微不足道的)问题是,当我有一个可以使用的字段时,我应该如何实现hashCode方法?我可以直接使用fiels吗? 如果我理解正确,hashCode的值在对象的生命周期内不得改变,而且我只有一个适合这个的ID,但我已经在其他地方读过,那个人不应该使用ID ... despide ..
发布时间:2018-12-12 19:19:04 Java开发

equals和hashCode:Objects.hash方法被破坏了吗?

我正在使用Java 7,我在下面有以下课程。我正确地实现了等于和 hashCode ,但问题是等于在下面的main方法中返回 false 但 hashCode 返回两个对象的相同哈希码。我可以让更多的眼睛看这堂课,看看我在这里做错了吗? 更新:我更换了我用自己的哈希函数调用 Objects.hash 方法的行: chamorro.hashCode()+ english.hashCode()+ ..
发布时间:2018-12-12 00:10:05 Java开发

ConcurrentHashMap构造函数参数?

我想知道构造 ConcurrentHashMap 的参数: initialCapacity 默认为16(理解)。 loadFactor 默认为0.75 。 concurrencyLevel 默认为16。 我的问题是: 应使用什么标准来调整 loadFactor up or down? 我们如何确定并发更新线程的数量? 应该使用什么标准来调整 concurrencyLeve ..
发布时间:2018-12-10 22:45:26 Java开发

Java从哈希码重新创建字符串

有没有办法可以在java中使用字符串的哈希码,并重新创建该字符串? 例如。类似这样的事情: String myNewstring = StringUtils.createFromHashCode(“Hello World”.hashCode()); if(!myNewstring.equals(“Hello World”)) System.out.println(“嗯,出错了: ..
发布时间:2018-12-07 19:33:49 Java开发

java Object中hashCode的实现是什么?

可能重复: 如何用Java计算hashCode() 我发现Java中根类 Object 的 hashCode()方法没有实现: public native int hashCode(); 如果我有对象a 和对象b ,我怎么知道 a.hashCode()和 b.hashCode()不使用 System.out.println()的值?只是通过 hashCode ..
发布时间:2018-12-07 13:15:18 Java开发

Object.hashCode()算法

我正在寻找 Object.hashCode()的算法。 此代码在中是原生的的 Object.java 。 这是因为 (a)代码是汇编 - 从未进入Java或任何其他HLL 或 (b)它只是不公开 ? 在任何一种情况下,我都希望得到“如何 hashCode()的算法(伪代码或一些详细说明)计算“ - 计算中的参数和计算本身是什么? 请注意:这是 ha ..
发布时间:2018-12-07 13:12:16 Java开发

在Java中为具有循环引用的对象实现equals和hashCode

我定义了两个类,它们都包含对另一个对象的引用。它们看起来与此类似(这是简化的;在我的真实域模型中,A类包含B的列表,每个B都有一个返回到父A的引用): 公共等级A { public B b; public String bKey; @Override public int hashCode(){ final int prime = 31; int result = ..
发布时间:2018-12-07 12:17:23 Java开发

在重写hashCode()时使用较大的素数作为乘数

过去几个小时我一直在阅读有关哈希码函数的内容,并且在自定义哈希码实现中使用素数作为乘数已经积累了一些问题。如果我能对以下问题有所了解,我将不胜感激: 在评论 @mattb的答案,@ hstoerr主张使用更大的素数(例如524287)而不是普通的素数31.我的问题是,鉴于以下实施一对或多个元素的哈希码函数: @Override public int hashCode(){ fi ..
发布时间:2018-12-07 11:58:34 Java开发