Java文字列のハッシュ値の計算方法
Javaでは、文字列オブジェクトのhashCode()メソッドを呼び出すことで文字列のハッシュ値を算出できます。hashCode()メソッドはStringクラスのインスタンスメソッドであり、文字列の内容に基づいてハッシュ値として一意の整数値を計算します。
例として、ここでは文字列ハッシュ値の計算方法を示すサンプルコードを示します。
String str = "Hello, world!";
int hashCode = str.hashCode();
System.out.println("Hash Code: " + hashCode);
出力結果は次のようになります。
Hash Code: -862545276
ハッシュ値は文字列の内容によって計算されるため、同じ内容の文字列は同じハッシュ値を取得することに注意してください。ただし、ハッシュアルゴリズムの目的はさまざまな入力をさまざまなハッシュ値にマップするように設計されていますが、衝突を完全に排除することは保証されていません。
それだけでなく、Objects型のhash()メソッドを使用して文字列のハッシュを求めることもできます。このメソッドでは、指定された引数にハッシュを求め、Nullが入力された場合は、0を返します。
次のコードを示します。
String str = "Hello, world!";
int hashCode = Objects.hash(str);
System.out.println("Hash Code: " + hashCode);
出力結果は次のようになります。
Hash Code: -862545276