symmetricDifferenceCardinality<T> static method

int symmetricDifferenceCardinality<T>(
  1. CustomSet<T> a,
  2. CustomSet<T> b
)

Calculates the cardinality of the symmetric difference of two sets.

Formula: |A ⊕ B| = |A| + |B| - 2|A ∩ B|

Alternative: |A ⊕ B| = |A - B| + |B - A|

Example:

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

Implementation

static int symmetricDifferenceCardinality<T>(CustomSet<T> a, CustomSet<T> b) {
  final intersectionCardinality = SetOperations.intersection(
    a,
    b,
  ).cardinality;
  return a.cardinality + b.cardinality - 2 * intersectionCardinality;
}