How and when override equals() and hashCode()
1. Giới thiệu Chào các bạn hôm nay chúng ta sẽ tìm hiểu một chủ đề không mới lắm, nhưng vẫn luôn là quan trọng cho những ai vẫn còn đang mơ hồ về hai method hashcode() và equals() trong java. Đồng thời tìm hiểu và mục đính sử dụng của hai hàm đó trong Hash collections. Như chúng ta biết thì tất ...
1. Giới thiệu Chào các bạn hôm nay chúng ta sẽ tìm hiểu một chủ đề không mới lắm, nhưng vẫn luôn là quan trọng cho những ai vẫn còn đang mơ hồ về hai method hashcode() và equals() trong java. Đồng thời tìm hiểu và mục đính sử dụng của hai hàm đó trong Hash collections. Như chúng ta biết thì tất cả các object trong java đều có hỗ trợ hai hàm này. Đầu tiên chúng ta tìm hiểu về hàm hashcode() trong java.
2. Hashcode Mặc định hàm hashCode() được gennerate ra một số integer là unique khi object được khởi tạo trong bộ nhớ heap. Giá trị này là random cho mỗi object nếu phương thức hashCode() không được override. vd:
Thực tế hashCode() được sử dụng khi chúng ta insert object vào Hash Collections, vậy quá trình gọi hàm hashcode() như nào? Trong số chúng ta chắc hẳn không phải ai cũng biết rõ khi nào thì gọi hàm hashcode() và equals().