Giả sử tôi có một lớp POJO Class1 đơn giản và nó có 2 trường kiểu int.Sử dụng nhiều lựa chọn thay thế của hashCode() và equals() cho các bộ
Tôi đã triển khai các phương thức hashCode() và equals() của nó để xử lý chính xác 2 trường đó, để đặt các phiên bản của lớp vào tập hợp.
Cho đến nay rất tốt.
Bây giờ, tôi muốn có một tập hợp khác, xem xét các trường hợp của Class1 bằng nhau nếu trường đầu tiên bằng nhau, làm cho tình trạng bình đẳng yếu hơn. Tôi thậm chí có thể muốn có một bộ khác chỉ xem trường thứ hai là trường kiểm tra bình đẳng.
Có thể không? Nếu vậy, làm thế nào?
Sử dụng Trình so sánh cùng với TreeMap. Các tùy chọn khác là để mở rộng HashMap vì vậy nó sử dụng một máy phát điện Hash thay vì hashCode() – BevynQ
Có thể mở rộng HashSet bằng cách nào đó? –