difference<T> function

List<T> difference<T>(
  1. Iterable<T>? list, [
  2. Iterable<T>? values
])

Implementation

List<T> difference<T>(Iterable<T>? list, [Iterable<T>? values]) {
  if (list == null || list.isEmpty) {
    return [];
  }
  Set<T> set = {};
  if (values != null) {
    set.addAll(values);
  }
  List<T> rl = [...list];
  rl.removeWhere((element) => set.contains(element));
  return rl;
}