Java String hashCode() method
Java String hashCode() method returns hash code for current String.
hash code for string object is computed as
s[0]*31^(n - 1) + s[1]*31^(n - 2) + ... + s[n - 1]
Using int arithmetic, where s[i] is the ith character of the string, n is the length of the string, and ^ indicates exponentiation. (The hash value of the empty string is zero.)
Syntax:
public int hashCode()
Return: an int datatype i.e. hashcode of the String.
Java String hashCode() example 1:
public class JavaStringHashCodeEx1 { public static void main(String[] args) { String s1 = "tutorialandexample.com"; System.out.println("Hash Code:" + s1.hashCode()); } }
Output:
Hash Code:1997172644
Java String hashCode() example 2: Two String having same hash code
public class JavaStringHashCodeEx2 { public static void main(String[] args) { String s1 = "tutorialandexample.com"; String s2 = "tutorialandexample.com"; System.out.println("Hash Code:" + s1.hashCode()); System.out.println("Hash Code:" + s2.hashCode()); } }
Output:
Hash Code:1997172644 Hash Code:1997172644
Java String hashCode() example 3:
public class JavaStringHashCodeEx3 { public static void main(String[] args) { String s1 = "tutorialandexample.com"; String s2 = "tutorialandexample.com"; if((s1.hashCode())==(s2.hashCode())){ System.out.println("welcome to tutorialandexample.com by Roy Nitish Nk"); }else{ System.out.println("Tutorial by Nk"); } } }
Output:
welcome to tutorialandexample.com by Roy Nitish Nk
Java String hashCode() example 4:
public class JavaStringHashCodeEx4 { public static void main(String[] args) { String s1 = "tutorialandexample.com"; String s2 = "tutorialandexample.com"; if((s1.hashCode())==(s2.hashCode())){ int i,j,k; for(i=1; i<=5; i++) { for(j=4; j>=i; j--) { System.out.print(" "); } for(k=1; k<=(2*i-1); k++) { System.out.print("Nitish");//comment this for print star System.out.print("*"); } System.out.println(""); } }else{ System.out.println("Tutorial by Nk"); } } }
Output:
Nitish* Nitish*Nitish*Nitish* Nitish*Nitish*Nitish*Nitish*Nitish* Nitish*Nitish*Nitish*Nitish*Nitish*Nitish*Nitish* Nitish*Nitish*Nitish*Nitish*Nitish*Nitish*Nitish*Nitish*Nitish*