클래스를 사용할 수있게 만들고 싶습니다. SortedSet
| SortedMap
.equals와 compareTo가 일치하지 않는 것이 맞습니까?
class MyClass implements Comparable<MyClass>{
// the only thing relevant to comparisons:
private final String name;
//...
}
클래스의 인스턴스는 name 속성으로 정렬되어야합니다.
그러나 똑같은 이름의 인스턴스가 동일한 것으로 간주되기를 원하지 않습니다.
따라서 SortedSet
콘텐츠는 a, a, a, b, c처럼 보일 것입니다. 이 (철학적) 일치 :
모든
먼저 (일반적으로, SortedSet
은 C A, B를 허용 것)? 내가하지 재정 equals(...)
및 hashCode()
을 수행 할 때
그렇다면은, 내가 예측할 수없는 행동을 기대해야합니까?
편집 :
미안 해요, 내 질문은 일관성이 보인다
가 나는 내부 개념으로이 을 허용하지 않습니다을 설정 여러 "동일한" 값 넣고 싶다.
내 질문에 더 이상 회신하지 마십시오.
이미 답변 해 주신 모든 분들께 감사드립니다.
다른 Collection 유형을 사용하지 않는 이유는 무엇입니까? –
예, google-collection-API의 다중 세트 | MultiMap이 좋을 것 같습니다. Sun, aehm, Oracle 사람들이 Java collection API에 기능을 추가 할 수 있기를 바랍니다. –