Mã băm đối tượng Java ()

Phương thức Java Object hashCode () trả về giá trị mã băm được liên kết với đối tượng.

Cú pháp của hashCode()phương thức là:

 object.hashCode()

Tham số hashCode ()

Các hashCode()phương pháp không mất bất kỳ thông số.

hashCode () Giá trị trả lại

  • trả về giá trị mã băm của đối tượng

Lưu ý : Giá trị mã băm là một giá trị số nguyên được liên kết với mỗi đối tượng. Nó được sử dụng để xác định vị trí của các đối tượng trong bảng băm.

Ví dụ 1: Mã băm đối tượng Java ()

 class Main ( public static void main(String() args) ( // hashCode() with Object Object obj1 = new Object(); System.out.println(obj1.hashCode()); // 1785210046 Object obj2 = new Object(); System.out.println(obj2.hashCode()); // 1552787810 Object obj3 = new Object(); System.out.println(obj3.hashCode()); // 1361960727 ) )

Lưu ý : ObjectLớp là siêu lớp cho tất cả các lớp trong Java. Do đó, mọi lớp đều có thể triển khai hashCode()phương thức.

Ví dụ 2: hashCode () với String và ArrayList

 import java.util.ArrayList; class Main ( public static void main(String() args) ( // hashCode() with String String str = new String(); System.out.println(str.hashCode()); // 0 ArrayList list = new ArrayList(); System.out.println(list.hashCode()); // 1 ) )

Trong ví dụ trên, chúng ta có thể gọi hashCode()phương thức để lấy mã băm của đối tượng StringArrayList.

Đó là bởi vì StringArrayListlớp kế thừa Objectlớp.

Ví dụ 3: Giá trị mã băm cho đối tượng bằng

 class Main ( public static void main(String() args) ( // hashCode() with Object Object obj1 = new Object(); // assign obj1 to obj2 Object obj2 = obj1; // check if two objects are equal System.out.println(obj1.equals(obj2)); // true // get hashcode of obj1 and obj2 System.out.println(obj1.hashCode()); // 1785210046 System.out.println(obj2.hashCode()); // 1785210046 ) )

Trong ví dụ trên, chúng ta có thể thấy rằng hai đối tượng obj1 và obj2 đang tạo ra cùng một giá trị mã băm.

Đó là vì hai đối tượng bằng nhau. Và, theo tài liệu chính thức của Java, hai đối tượng bằng nhau phải luôn trả về cùng một giá trị mã băm.

Lưu ý : Chúng tôi đã sử dụng phương thức Đối tượng Java equals () để kiểm tra xem hai đối tượng có bằng nhau hay không.

thú vị bài viết...