首页 > 解决方案 > 在 Kotlin 中找到两个集合之间的对称差

问题描述

是否有 Kotlin stdlib 函数来查找两组之间的对称差异?所以给定两组[1, 2, 3][1, 3, 5]对称差为[2, 5]

我已经编写了这个可以正常工作的扩展函数,但它感觉就像一个应该已经存在于集合框架中的操作。

fun <T> Set<T>.symmetricDifference(other: Set<T>): Set<T> {
    val mine = this subtract other
    val theirs = other subtract this
    return mine union theirs
}

编辑:在java中获得两组之间对称差异的最佳方法是什么?建议使用 Guava 或 ApacheCommons,但我想知道 Kotlin 的标准库是否支持这一点。

标签: kotlincollectionsset

解决方案


推荐阅读