Just to put one example here (system is in existingState
, and we want to find elements to remove (elements that are not in newState
but are present in existingState
) and elements to add (elements that are in newState
but are not present in existingState
) :
public class AddAndRemove {
static Set<Integer> existingState = Set.of(1,2,3,4,5);
static Set<Integer> newState = Set.of(0,5,2,11,3,99);
public static void main(String[] args) {
Set<Integer> add = new HashSet<>(newState);
add.removeAll(existingState);
System.out.println("Elements to add : " + add);
Set<Integer> remove = new HashSet<>(existingState);
remove.removeAll(newState);
System.out.println("Elements to remove : " + remove);
}
}
would output this as a result:
Elements to add : [0, 99, 11]
Elements to remove : [1, 4]