summary<T> static method

Map<String, int> summary<T>(
  1. CustomSet<T> a,
  2. CustomSet<T> b
)

Creates a summary of cardinality relationships between two sets.

Returns a map containing various cardinality calculations.

Example:

final a = CustomSet<int>([1, 2, 3, 4]);
final b = CustomSet<int>([3, 4, 5, 6]);
final summary = CardinalityUtils.summary(a, b);
print(summary['union']); // Output: 6
print(summary['intersection']); // Output: 2

Implementation

static Map<String, int> summary<T>(CustomSet<T> a, CustomSet<T> b) {
  final intersection = SetOperations.intersection(a, b);
  final union = SetOperations.union(a, b);
  final aOnly = SetOperations.difference(a, b);
  final bOnly = SetOperations.difference(b, a);

  return {
    'cardinalityA': a.cardinality,
    'cardinalityB': b.cardinality,
    'union': union.cardinality,
    'intersection': intersection.cardinality,
    'differenceAB': aOnly.cardinality,
    'differenceBA': bOnly.cardinality,
    'symmetricDifference': SetOperations.symmetricDifference(
      a,
      b,
    ).cardinality,
    'onlyA': aOnly.cardinality,
    'onlyB': bOnly.cardinality,
    'both': intersection.cardinality,
    'eitherOrBoth': union.cardinality,
  };
}