Câu hỏi phỏng vấn Java
Câu hỏi

Tầm quan trọng của phương thức hashCode() equals() trong Java là gì?

Câu trả lời

Trong Java, phương thức hashCode()equals() đóng một vai trò quan trọng trong việc so sánh đối tượng và quản lý các đối tượng trong các cấu trúc dữ liệu dựa trên bảng băm như HashSet, HashMap, HashTable, và LinkedHashMap.

Phương thức hashCode()

  • Phương thức hashCode() trả về một giá trị int được sử dụng để phân phối đối tượng trong các cấu trúc dữ liệu dựa trên bảng băm.
  • Khi bạn ghi đè phương thức equals(), bạn cũng cần phải ghi đè phương thức hashCode() để duy trì hợp đồng hashCode mà Java định nghĩa: hai đối tượng bằng nhau theo phương thức equals() phải có cùng một giá trị hashCode.
  • Nếu hashCode() không được ghi đè một cách thích hợp, điều này có thể dẫn đến việc hai đối tượng bằng nhau theo equals() nhưng được xử lý như là hai đối tượng khác nhau trong các cấu trúc dữ liệu dựa trên bảng băm, gây ra các lỗi logic và hiệu suất không mong muốn.

Phương thức equals()

  • Phương thức equals() xác định cách hai đối tượng được so sánh với nhau về mặt bằng nhau. Mặc định, phương thức equals() được kế thừa từ lớp Object so sánh địa chỉ bộ nhớ của hai đối tượng (so sánh tham chiếu).
  • Khi bạn cần s...
middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Có những cách nào để tạo một Thread trong Java. Bạn thích cách nào và tại sao?

middle

DGC là gì? Và nó hoạt động như thế nào?

senior

Trong Java, làm sao để bạn đảm bảo N thread có thể truy cập N tài nguyên mà không bị deadlock?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào