setEquals< T> function
Compares two sets for deep equality.
Returns true if the sets are both null, or if they are both non-null, have the same length, and contain the same members. Returns false otherwise. Order is not compared.
See also:
- listEquals, which does something similar for lists.
Implementation
bool setEquals<T>(Set<T> a, Set<T> b) {
if (a == null)
return b == null;
if (b == null || a.length != b.length)
return false;
for (T value in a) {
if (!b.contains(value))
return false;
}
return true;
}