次のようなメソッドを実装するための(一意性の点で)最速でより堅牢な方法は何でしょうか
public abstract String hash(String[] values);
配列には 100 から 1,000のvalues[]
メンバーがあり、それぞれ数十文字で、メソッドはvalues[]
毎回異なる配列で約 10,000 回/秒実行する必要があります。
バッファを使用して長い文字列を作成し、StringBuilder
次にバッファの内容に対してハッシュ メソッドを呼び出す必要がありますvalues[]
か?
明らかに、衝突を避けるために少なくとも 64 ビットのハッシュ (MD5 など) が必要ですが、同じ品質でより簡単かつ高速に実行できるものはありますか?
たとえば、どうですか
public String hash(String[] values)
{
long result = 0;
for (String v:values)
{
result += v.hashCode();
}
return String.valueOf(result);
}