compareClassOfList<T> function

bool compareClassOfList<T>(
  1. List? l1,
  2. List? l2,
  3. dynamic getValue(
    1. T
    )
)

Compares lists containing classes, pass values from the classes you want to compare into the function.

compareClassOfList<Banana>(list1, list2, (c) {
  return c.peel + c.pulp;
})

Implementation

bool compareClassOfList<T>(List? l1, List? l2, dynamic Function(T) getValue) {
  List<dynamic> firstValues = [];
  l1?.toSet().forEach((c) => firstValues.add(getValue.call(c)));

  List<dynamic> secondValues = [];
  l2?.toSet().forEach((c) => secondValues.add(getValue.call(c)));

  return firstValues.join('') == secondValues.join('');
}