将多个字符串散列到一个散列中

时间:2019-06-14 06:32:22

标签: java algorithm hash hashmap

我有很多字符串组成的数组。我想创建一个哈希。首先,我像下面这样散列了该数组的所有字符串:

for (int i = 0; i < strings.length(); i++)
{
    strings[i] = hash(strings[i]);
}

因此,我现在在1级具有哈希值。如下图所示。下一步有什么算法吗?我不想做梅克尔树。

enter image description here

2 个答案:

答案 0 :(得分:2)

如果我是你,我会将所有字符串合并为一个,然后对该长字符串进行哈希处理。

例如。

        StringJoiner j=new StringJoiner("");//Or any other separator
        Arrays.asList(strings).forEach(j::add);
        String finalHash=hash(j.toString());

答案 1 :(得分:2)

我觉得可以使用Arrays.hashCode(Object a[])

请看看Arrays.hashCode(Object a[])是否有帮助。

String[] strings = {"Hello 1", "Hello 1", "Hello 1"};
int hasCode = Arrays.hashCode(strings);
System.out.println(hasCode);