Java-如何从字符串列表创建哈希ID

时间:2018-10-27 14:14:04

标签: java hashcode

我有一个String列表。我想从列表的所有字符串中生成一个哈希代码。我怎样才能做到这一点 ?

3 个答案:

答案 0 :(得分:3)

如果有对象列表,则可以

List<String> list = ...
int hashCode = list.hashCode();

hashCode使用内容。如果需要,有很多改进哈希码的选项,但这是最简单的。

答案 1 :(得分:1)

尝试一下:

int hashCode = Objects.hash(list.toArray());

答案 2 :(得分:0)

您可以只选择列表中的hashCode,但是如果您打算让List的不同实现使用相同的字符串,则可能会有些麻烦。仅依赖于字符串本身的更可靠的解决方案是使用Arrays#hashCode

int hash = Arrays.hashCode(list.toArray());

但是,请注意,此哈希码取决于数组元素的顺序,因此,如果您不关心列表中字符串的顺序,则可能需要对该数组进行排序,以便相同字符串产生相同的哈希码。