gpt4 book ai didi

java - 我如何从对象中获取哈希值/md5?

转载 作者:行者123 更新时间:2023-12-02 00:33:42 25 4
gpt4 key购买 nike

我有一堂这样的课

Class A{

private String string1;
private String string2;
..
..

private String string19;

}

某些字符串可能为空。

我想获取此类实例的哈希/标识符(字符串或数字)。我可以使用 hashCode,但我不知道是否会发生一些冲突,我有很多此类的实例(大约 4-5 百万个)。

我需要一种快速的方法来获取这个哈希值。

感谢您的帮助。

最佳答案

您可以编写一个自定义 hashCode 方法,该方法使用 String 类中 hashCode 算法的稍微修改版本。根据 Oracle 文档,字符串 hashCode 计算如下:

 s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]

您可以实现一个修改版本,对类中的所有 String 对象计算 n 。这样,您就不会浪费空间和时间来创建连接字符串来执行相同的操作。在某些情况下,这可能没问题,但对于 4-500 万个对象,您可能希望避免那么多的流失。

来源:http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html#hashCode%28%29

关于java - 我如何从对象中获取哈希值/md5?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8380160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com