Einfache Frage.Vergleichen Sie zwei Listen für Updates, Löschungen und Ergänzungen
Ich habe eine neue Liste und eine alte Liste. Gibt es in Java einen Standardweg/eine Bibliothek, die es mir erlaubt, diese beiden Listen zu vergleichen und zu bestimmen, welche Artikel aktualisiert/gelöscht oder komplett neu sind? Z.B. Ich sollte am Ende mit drei Listen enden - Gelöschte Objekte (Elemente in alt, aber nicht in neu), Aktualisierte Elemente (Elemente in beiden), Neue Elemente (Elemente in neuen und nicht in alten).
Ich könnte das selbst schreiben, aber ich frage mich, ob es einen Standard Weg gibt, es zu tun.
Die Objekte in der Liste implementieren entspricht gleich.
Sind Sie besorgt über die Reihenfolge der Listen? Zum Beispiel werden die bisher vorgeschlagenen Lösungen, die retainAll/removeAll beinhalten, nicht mit der Situation umgehen, in der die neue Liste die gleichen Elemente enthält wie die alte Liste, wenn auch in einer anderen Reihenfolge; z.B. {"foo", "bar"} vs {"bar", "foo"}. – Adamski
Solange die equals-Methode korrekt implementiert ist, sehe ich nicht, warum die Reihenfolge sich auf removeAll etc. auswirken sollte. Gewiss nicht im javadoc vorschlagen: Entfernt alle Elemente aus der Liste, die in der angegebenen Sammlung enthalten sind (optionale Operation). – Pablojim