Java definisce un'interfaccia Set
dove contains()
è definito come segue:Istanza impostata in Java?
ritorni
true
se questo insieme contiene l'elemento specificato. Più formalmente, restituisce true se e solo se questo insieme contiene un elementoe
tale che(o==null ? e==null : o.equals(e))
.
L'interfaccia Collection
definisce contains()
come segue:
ritorni
true
se questa raccolta contiene l'elemento specificato. Più formalmente, restituisce true se e solo se questa raccolta contiene a almeno un elementoe
tale che(o==null ? e==null : o.equals(e))
.
Ho bisogno di un Java 'insieme istanza' dove si basa su ==
e non equals()
. In altre parole, un insieme di istanze rigide in cui due diversi oggetti A e B in cui A.equals(B)
potrebbero coesistere in questo stesso set, dal A!=B
.
È un tale "set di istanze" consegnato in Java o in una libreria pubblica? Non riesco a trovare nulla, ma forse qualcuno lo sa meglio su SO. In caso contrario, lo implementerò. Grazie.
+1: più veloce di me. ;) –
Sembra che questa sia la base di cui ho bisogno per il mio set di istanze. Grande. Grazie. – JVerstry
L'OP dovrebbe tenere a mente che un "Set" implementato in questo modo è una violazione del contratto "Set" ... tanto quanto "IdentityHashMap" viola il contratto "Mappa". Ad ogni modo, questa è la probabile ragione per cui una classe del genere non è una parte standard del framework delle collezioni. –