I have 2 arraylists of string object.
List sourceList = new ArrayList();
List destinationList = new ArrayList
List oldList = Arrays.asList("a", "b", "c", "d", "e", "f");
List modifiedList = Arrays.asList("a", "b", "c", "d", "e", "g");
List added = new HashSet<>(modifiedList);
List removed = new HashSet<>(oldList);
modifiedList.stream().filter(removed::remove).forEach(added::remove);
// added items
System.out.println(added);
// removed items
System.out.println(removed);