difference method Null safety

Set<E> difference(
  1. Set<Object?> other
)
override

Creates a new set with the elements of this that are not in other.

That is, the returned set contains all the elements of this Set that are not elements of other according to other.contains.

final characters1 = <String>{'A', 'B', 'C'};
final characters2 = <String>{'A', 'E', 'F'};
final differenceSet1 = characters1.difference(characters2);
print(differenceSet1); // {B, C}
final differenceSet2 = characters2.difference(characters1);
print(differenceSet2); // {E, F}

Implementation

Set<E> difference(Set<Object?> other) {
  Set<E> result = toSet();
  for (E element in this) {
    if (other.contains(element)) result.remove(element);
  }
  return result;
}