From 4a67cde2834389f5fa2de7f2c9c9801e0277ebdb Mon Sep 17 00:00:00 2001 From: Michael Nedzelsky Date: Fri, 18 Sep 2015 20:45:35 +0300 Subject: [PATCH] HashSetUtil: add symmetricDifference --- .../org/jetbrains/kotlin/utils/HashSetUtil.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/compiler/util/src/org/jetbrains/kotlin/utils/HashSetUtil.java b/compiler/util/src/org/jetbrains/kotlin/utils/HashSetUtil.java index d700c3b9340..5a0dbc19ea9 100644 --- a/compiler/util/src/org/jetbrains/kotlin/utils/HashSetUtil.java +++ b/compiler/util/src/org/jetbrains/kotlin/utils/HashSetUtil.java @@ -17,6 +17,7 @@ package org.jetbrains.kotlin.utils; import com.intellij.util.containers.hash.EqualityPolicy; +import com.intellij.util.containers.hash.HashSet; import com.intellij.util.containers.hash.LinkedHashMap; import org.jetbrains.annotations.NotNull; @@ -33,4 +34,17 @@ public class HashSetUtil { } return map.keySet(); } + + @NotNull + public static Set symmetricDifference(@NotNull Set set1, @NotNull Set set2) { + Set intersection = new HashSet(); + intersection.addAll(set1); + intersection.retainAll(set2); + Set result = new HashSet(); + result.addAll(set1); + result.addAll(set2); + result.removeAll(intersection); + + return result; + } }