首页 > 解决方案 > Dart/Flutter 中的对称差集操作

问题描述

我正在使用 DartSet对集合进行快速操作,并且突然需要在两组之间进行对称差异。-class 有很多常见的Set集合操作,但我看不到它具有对称差分操作。有谁知道它是否存在于 Dart 中,或者是否必须“手动”实现?

标签: flutterdartset

解决方案


我现在使用的一种解决方法是通过使用联合和差异来实现对称差异,如下所示:

Set<T> symmetricDifference<T>(Set<T> set1, Set<T> set2) {
  return set1.difference(set2).union(set2.difference(set1));
}

https://en.wikipedia.org/wiki/Symmetric_difference#Properties

它似乎运作良好,但如果有一种更惯用的方法,我会全力以赴!


推荐阅读