Я хочу сделать класс пригодным для использования в SortedSet
| SortedMap
.
class MyClass implements Comparable<MyClass>{
// the only thing relevant to comparisons:
private final String name;
//...
}
Экземпляры класса должны быть отсортированы по свойству name.
Однако я не хочу, чтобы экземпляры с одинаковыми именами считались равными.
Таким образом, содержимое SortedSet
будет выглядеть так: a, a, a, b, c .
(Обычно SortedSet
допускает только a, b, c )
Прежде всего: это (философски) непротиворечиво?
Если так, то должен ли я ожидать непредсказуемого поведения, когда я не
переопределить equals(...)
и hashCode()
?
Edit:
Извините, мой вопрос кажется противоречивым:
Я хочу поместить несколько "равных" значений в set , что не позволяет
по концепции.
Поэтому, пожалуйста, больше не отвечайте на мой вопрос.
Спасибо всем, кто уже ответил.