文
章
目
录
章
目
录
Java String hashCode() 方法返回字符串的哈希码。哈希码值用于基于哈希的集合,如 HashMap、HashTable 等。在重写 equals() 方法的每个类中,必须重写 hashCode() 方法,以避免在哈希集合中使用时出现任何不可预测的行为。
1. String.hashCode() API
hashCode() API的语法如下。它不接受任何参数并返回一个表示该对象的哈希码值的整数。
public int hashCode();
String 对象的哈希码计算如下:
s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
说明 :
- s[i] – 是字符串的第 i 个字符
- n – 是字符串的长度,并且
- ^ – 表示求幂
String 的hashCode()覆盖该Object.hashCode()
方法。此方法以整数值形式返回哈希码。
2. String hashCode()代码示例
Java程序如何计算字符串的哈希码。在给定的示例中,我们正在计算两个不同字符串的哈希码,并且两者都会产生不同的哈希码。
System.out.println( "panziye.com".hashCode() );
System.out.println( "hello world".hashCode() );
输出:
1898415915
1794106052