Voglio rendere una classe utilizzabile in SortedSet
| SortedMap
.Ha senso per uguali e confronti Per essere incoerente?
class MyClass implements Comparable<MyClass>{
// the only thing relevant to comparisons:
private final String name;
//...
}
Le istanze della classe devono essere ordinate in base alla relativa proprietà.
Tuttavia, non voglio che le istanze con lo stesso nome siano considerate uguali.
Quindi un contenuto di SortedSet
sarà simile a a, a, a, b, c.
(Normalmente, SortedSet
avrebbe consentito solamente a, b, c)
Innanzitutto: è questo (filosoficamente) consistente?
Se è così, devo aspettare un comportamento imprevedibile, quando lo faccio non esclusione equals(...)
e hashCode()
?
Edit:
Mi dispiace, la mia domanda sembra incoerente:
Voglio mettere più "uguale" valori all'interno di un set , che non consente questo dal concept.
Quindi, per favore non rispondere più alla mia domanda.
Grazie a tutti coloro che hanno già risposto.
Perché non utilizzare solo un tipo di raccolta diverso? –
Sì, MultiSet dell'API di google-collection | MultiMap sembra buono per questo. Spero tanto che il Sun, aehm, Oracle ragazzi un giorno aggiungerebbe funzionalità all'API di raccolta Java ... –