Hashcode là gì

Dấu bằng tương tự như toán tử ==, để kiểm tra nhận dạng đối tượng hơn là bình đẳng đối tượng. Mã băm là một phương thức mà một lớp chia nhỏ dữ liệu được lưu trữ trong một

NộI Dung:

Sự khác biệt chính – bằng so với hashCode trong Java

Dấu bằng tương tự như toán tử ==, để kiểm tra nhận dạng đối tượng hơn là bình đẳng đối tượng. Mã băm là một phương thức mà một lớp chia nhỏ dữ liệu được lưu trữ trong một thể hiện của lớp đó thành một giá trị băm duy nhất, là một số nguyên có dấu 32 bit. Các sự khác biệt chính giữa bằng và Mã băm trong Java đó là các dấu bằng được sử dụng để so sánh hai đối tượng trong khi Mã băm được sử dụng trong quá trình băm để quyết định nhóm đối tượng nào nên được phân loại thành.

1. Tổng quan và sự khác biệt chính 2. Bằng trong Java là gì 3. Mã băm trong Java là gì 4. So sánh song song – bằng và mã băm trong Java ở dạng bảng 5. Tóm tắt

Bằng trong Java là gì?

Phương thức bằng được sử dụng để so sánh hai đối tượng. Phương thức bằng mặc định được định nghĩa trong lớp đối tượng. truongsuphamtphcm.edu.vnệc triển khai đó tương tự như toán tử ==. Hai tham chiếu đối tượng chỉ bằng nhau nếu chúng trỏ đến cùng một đối tượng. Có thể ghi đè phương thức bằng.

Có thể bạn quan tâm:  Xem đá banh ở đâu

Bạn đang xem: Hashcode là gì

*

Câu lệnh System.out.println (s1.equals (s2)) sẽ cho câu trả lời sai vì s1 và s2 đang tham chiếu đến hai đối tượng khác nhau. Nó tương tự như câu lệnh, System.out.println (s1 == s2);

Câu lệnh System.out.println (s1.equals (s3)) sẽ cho câu trả lời đúng vì s1 và s3 đang tham chiếu đến cùng một đối tượng. Nó tương tự như câu lệnh, System.out.println (s1 == s3);

Không có phương thức bằng trong lớp Sinh truongsuphamtphcm.edu.vnên. Do đó, các dấu bằng trong lớp Đối tượng được gọi. True chỉ được hiển thị nếu tham chiếu đối tượng đang trỏ đến cùng một đối tượng.

Theo chương trình trên, phương thức bằng được ghi đè. Một đối tượng được truyền cho phương thức và nó được nhập vào Student. Sau đó, các giá trị id được kiểm tra. Nếu các giá trị id tương tự, nó sẽ trả về true. Nếu không, nó sẽ trả về false. Id của s1 và s2 là tương tự. Vì vậy, nó sẽ in true. Id của s1 và s3 cũng tương tự, vì vậy nó sẽ in true.

Mã băm trong Java là gì?

Mã băm được sử dụng trong quá trình băm để quyết định phân loại đối tượng vào nhóm nào. Một nhóm đối tượng có thể chia sẻ cùng một mã băm. Một hàm băm đúng có thể phân phối đồng đều các đối tượng thành các nhóm khác nhau.

Một mã băm đúng có thể có các thuộc tính như sau. Giả sử rằng có hai đối tượng là obj1 và obj2. Nếu obj1.equals (obj2) là true, thì obj1.hashCode () bằng obj2.hashCode (). Nếu obj1.equals (obj2) là sai, thì không nhất thiết obj1.hashCode () không bằng obj2.hashCode (). Hai đối tượng không bằng nhau cũng có thể có cùng một mã băm.

*
*

Lớp Sinh truongsuphamtphcm.edu.vnên chứa các phương thức bằng và Mã băm. Phương thức bằng trong lớp Sinh truongsuphamtphcm.edu.vnên sẽ nhận một đối tượng. Nếu đối tượng là null, nó sẽ trả về false. Nếu các lớp của các đối tượng không giống nhau, nó sẽ trả về false. Các giá trị id được kiểm tra trong cả hai đối tượng. Nếu chúng giống nhau, nó sẽ trả về true. Nếu không, nó sẽ trả về false.

Có thể bạn quan tâm:  Thông Tin Tuyển Sinh Cao Đẳng Sư Phạm Thái Bình

Xem thêm: Top 5 Phần Mềm Tạo Usb Boot Tốt Nhất Hiện Nay, Usb Boot Đa Năng Cứu Hộ Máy Tính Tốt Nhất

Trong chương trình chính, các đối tượng s1 và s2 được tạo. Khi gọi s1.equals (s2) sẽ cho giá trị true vì phương thức equals bị ghi đè và nó kiểm tra giá trị id của hai đối tượng. Mặc dù chúng đề cập đến hai đối tượng, câu trả lời là đúng vì giá trị id của s1 và s2 là như nhau. Vì s1.equals (s2) là true, mã băm của s1 và s2 phải bằng nhau. truongsuphamtphcm.edu.vnệc in mã băm của s1 và s2 cho cùng một giá trị. Phương thức hashCode có thể được sử dụng với các Bộ sưu tập như HashMap.

Sự khác biệt giữa mã bằng và mã băm trong Java là gì?

Tóm tắt – bằng so với hashCode trong Java

Sự khác biệt về dấu bằng và Mã băm trong Java là dấu bằng được sử dụng để so sánh hai đối tượng trong khi Mã băm được sử dụng để băm để quyết định phân loại đối tượng vào nhóm nào.

Chuyên mục: kiến thức

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *