Collection.contains()/retainAll() mit Referenzgleichheit statt equals()?

kirdie

Bekanntes Mitglied
Ich habe zwei Listen a und b, die verschiedene Wörter aus Sätzen enthalten.
Z.B. String[] satz = {"Peter","mag","Pizza",".","Peter","mag","Ananas","."};
a.add(satz[0]);
b.add(satz[4]);
Jetzt möchte ich die Schnittmenge aus beiden Listen machen.
a.retainAll(b);
Da satz[0].equals("Peter") gilt und auch satz[4].equals("Peter") würde a jetzt "Peter" enthalten.
Das ist für meine Interpretation aber falsch, weil es sich hier um 2 Wörter an anderen Stellen im Satz handelt.
Gibt es eine Möglichkeit, retainAll() oder contains() auf Referenzgleichheit und nicht auf equals() achten zu lassen?
 
S

SlaterB

Gast
retainAll ist doch kein Zauberwerk,
doppelte Schleife über beide Listen, mit if vergleichen und gegebenenfalls in eine neue Liste aufnehmen,
das ist auch schnell selber in einer statischen Methode geschrieben,

übrigens:
wenn du Strings als Literale in den Quelltext schreibst, dann sind sie immer wirklich dieselben, in deinem Beispiel würde auch == true ergeben,
in anderen Konstellationen würde == Referenzgleichheit immer false ergeben, warum sollte irgendwo automatisch die Position mit berücksichtigt werden?

verwende vielleicht doch besser normale Listen und retainsAll(),
aber als Elemente Objekte einer eigenen Klasse mit Attributen Wert + Position und einer equals-Methode die eben genau auch auf gleiche Position achtet
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Collection - contains-Methode überschreiben (anonyme innere Klasse) Allgemeine Java-Themen 4
Rakshan Generic reading of XML document from the root tag into an Collection Allgemeine Java-Themen 0
JavaJüngling beliebige Collection die Comperable Elemente enthält als Parameter Allgemeine Java-Themen 37
W Collections Suche Collection, um Strings mit Indizees versehen Allgemeine Java-Themen 47
Y String-Collection: längste gemeinsame Strings / Prefixe Allgemeine Java-Themen 3
S Probleme mit Collection Allgemeine Java-Themen 7
S Passende Java Collection Allgemeine Java-Themen 5
D Eigene/r Collection/Container Allgemeine Java-Themen 3
K Collections Collection<> mit List<String> abgleichen? Allgemeine Java-Themen 10
D Beste Collection für Integer Allgemeine Java-Themen 4
H JPA (EclipseLink) Neuer Eintrag in Collection speichern (unidirektional) Allgemeine Java-Themen 3
M Collections Typ Variable einer generischen Collection ? Allgemeine Java-Themen 4
T Garbage Collection Frage Allgemeine Java-Themen 15
H Datentypen Collection für SQL-Datentypen Allgemeine Java-Themen 2
M collection persistence system Allgemeine Java-Themen 4
K associate collection with two open sessions Allgemeine Java-Themen 12
B Garbage Collection Logfile: Binary File Allgemeine Java-Themen 2
T Liste mit GregorianCalendar-Objekten in List einlesen, mit Collection sortieren und ausgeben Allgemeine Java-Themen 3
S Stilfrage bezüglich Beans mit Collection-Properties Allgemeine Java-Themen 2
B iText Portable Collection Acrobat X Allgemeine Java-Themen 2
S Eine Collection von Objekten mit LDAP Syntax filtern Allgemeine Java-Themen 5
Rudolf Aus Collection<Integer> eine Zahl machen Allgemeine Java-Themen 2
R Dateigestützte Collection für große Datenmengen Allgemeine Java-Themen 5
hdi Garbage Collection Allgemeine Java-Themen 12
P Collection Tree Allgemeine Java-Themen 19
C Die schnellste Collection-Klasse ? Allgemeine Java-Themen 37
W return Collection mit schleife durchsuchen Allgemeine Java-Themen 10
E Collection Problem Allgemeine Java-Themen 2
B Geordnete, begrenzte Collection Allgemeine Java-Themen 3
D [SOLVED] Collection wird nicht richtig per Konstruktor übernommen Allgemeine Java-Themen 8
S Wahl der Collection, unspezifizierte Elementtypen Allgemeine Java-Themen 4
D Map mit Collection Eigenschaften Allgemeine Java-Themen 9
T Objekt der Garbage Collection zugaenglich machen? Allgemeine Java-Themen 7
S Innerer Type einer generischen Collection herausfinden? Allgemeine Java-Themen 13
B SBCC - Swing Better Components Collection - downloadlink ? Allgemeine Java-Themen 5
G Schnelligkeit einer Collection Allgemeine Java-Themen 12
V Collection in Collection Allgemeine Java-Themen 3
W [solved] Vector sortieren (Collection / Comparable?) Allgemeine Java-Themen 7
M Collection aufteilen Allgemeine Java-Themen 4
S Collection Type Allgemeine Java-Themen 8
S Probleme mit collection.containsAll Allgemeine Java-Themen 28
F Frage zu Memory Leak, Garbage Collection und Profiler-Tools Allgemeine Java-Themen 6
C Collection Multithreading? Allgemeine Java-Themen 33
vogella Überschreiben von equals und hashcode für Collection Allgemeine Java-Themen 7
T Hibernate Criteria Queries - Abfragen von Collection-Members Allgemeine Java-Themen 2
M Schnellste Collection/Liste Allgemeine Java-Themen 15
M Collection mit ArrayList Allgemeine Java-Themen 17
F mittels Collection<A> an A.class kommen? Allgemeine Java-Themen 7
L Welche Collection ist die richtige ? Listen mergen Allgemeine Java-Themen 3
B Collection Allgemeine Java-Themen 2
M Wie lange dauert ein garbage collection Allgemeine Java-Themen 7
R Garbage Collection bei gegenseitiger Objektreferenz Allgemeine Java-Themen 2
N Collection#retainAll(Collection<?> c) Allgemeine Java-Themen 3
M garbage collection Allgemeine Java-Themen 14
G Frage zur Garbage Collection Allgemeine Java-Themen 5
R Objekttyp ermitteln das aus generischer Collection kommt Allgemeine Java-Themen 3
J Von Collection zu vector Allgemeine Java-Themen 5
P Welche Collection verwenden? Allgemeine Java-Themen 4
S Sortierung einer Collection nach dem Attribut "name&quo Allgemeine Java-Themen 3
C Collection Element ersetzen Allgemeine Java-Themen 5
C public boolean containsAll(Collection c) Allgemeine Java-Themen 2
C Collection, LinkedList, Elemente Allgemeine Java-Themen 4
G Override String.contains Allgemeine Java-Themen 2
T Collections TreeSet.contains ruft nicht .equals? Allgemeine Java-Themen 4
H ArrayList.contains() Allgemeine Java-Themen 2
C Komisches Verhalten zwischen Set und List bei contains Allgemeine Java-Themen 6
B Arraylist.contains(Klasse) möglich? Allgemeine Java-Themen 19
1 String mit contains vergleichen (ignore case) Allgemeine Java-Themen 2
T Set.contains() auch false wenn value == null? Allgemeine Java-Themen 4
J Array[][] contains Array[][] ? Allgemeine Java-Themen 4
G drawPolygon() vs. contains() -> komisch! Allgemeine Java-Themen 14
I Properties.contains("Hell*orld"); Allgemeine Java-Themen 14
N contains(.) liefert nicht erwartetes Ergebnis Allgemeine Java-Themen 3
B String.contains() --- Java1.3 Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben