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?
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?