Tôi muốn tạo lớp học có thể sử dụng được trong SortedSet
| SortedMap
.Liệu nó có ý nghĩa đối với equals và compareTo không phù hợp?
class MyClass implements Comparable<MyClass>{
// the only thing relevant to comparisons:
private final String name;
//...
}
Các phiên bản của lớp phải được sắp xếp theo thuộc tính tên của chúng.
Tuy nhiên, tôi không muốn các trường hợp được đặt tên giống nhau được coi là bằng nhau.
Vì vậy, một nội dung SortedSet
trông giống như a, a, a, b, c.
(Thông thường, SortedSet
sẽ chỉ cho phép a, b, c)
Trước hết: là này (triết học) phù hợp?
Nếu có, tôi có phải mong đợi hành vi không thể đoán trước được không, khi tôi không ghi đè equals(...)
và hashCode()
?
Edit:
Tôi xin lỗi, câu hỏi của tôi dường như không phù hợp:
Tôi muốn đặt nhiều "bình đẳng" giá trị bên trong một thiết, mà không cho phép này bằng khái niệm.
Vì vậy, vui lòng không trả lời câu hỏi của tôi nữa.
Nhờ tất cả những ai đã trả lời.
Tại sao không chỉ sử dụng một loại Bộ sưu tập khác? –
Có, google-collection-API MultiSet | MultiMap có vẻ tốt cho việc này. Tôi hy vọng rất nhiều rằng Sun, aehm, Oracle guys một ngày nào đó sẽ thêm chức năng vào API thu thập Java ... –