Proste pytanie.Porównaj dwie listy dla aktualizacji, usunięć i dodatków.
Mam nową listę i starą listę. Czy w Javie istnieje standardowa metoda/biblioteka, która pozwala mi porównywać te dwie listy i określać, które pozycje zostały zaktualizowane/usunięte lub są zupełnie nowe? Na przykład. Powinienem skończyć z trzema listami - Usunięte elementy (stare, ale nie nowe), Zaktualizowane elementy (przedmioty w obu), Nowe elementy (elementy w nowym, a nie w starym).
Mogłem napisać to sam, ale zastanawiałem się, czy istnieje standardowy sposób, aby to zrobić.
Obiekty na liście są równe poprawnie.
Czy martwi Cię kolejność list? Na przykład sugerowane dotychczas rozwiązania obejmujące metodę retainAll/removeAll nie zajmą się sytuacją, w której nowa lista zawiera te same elementy co stara lista, aczkolwiek w innej kolejności; na przykład {"foo", "bar"} vs {"bar", "foo"}. – Adamski
Dopóki metoda równości jest zaimplementowana poprawnie, nie widzę powodu, dla którego zamówienie powinno wpływać na removeAll itd. Na pewno nie sugeruje w javadoc: usuwa z tej listy wszystkie elementy, które są zawarte w określonej kolekcji (operacja opcjonalna). – Pablojim