From f43ee2e572bff682bd07535695887b5281b6cb9c Mon Sep 17 00:00:00 2001 From: nik Date: Fri, 12 Dec 2014 18:51:33 +0300 Subject: [PATCH] ContainerUtil.intersects: optimization --- .../intellij/util/containers/ContainerUtil.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/platform/util/src/com/intellij/util/containers/ContainerUtil.java b/platform/util/src/com/intellij/util/containers/ContainerUtil.java index 6a84988ab2c0..5219508663e0 100644 --- a/platform/util/src/com/intellij/util/containers/ContainerUtil.java +++ b/platform/util/src/com/intellij/util/containers/ContainerUtil.java @@ -1422,10 +1422,18 @@ public class ContainerUtil extends ContainerUtilRt { @Contract(pure=true) public static boolean intersects(@NotNull Collection collection1, @NotNull Collection collection2) { - for (T t : collection1) { - //noinspection SuspiciousMethodCalls - if (collection2.contains(t)) { - return true; + if (collection1.size() <= collection2.size()) { + for (T t : collection1) { + if (collection2.contains(t)) { + return true; + } + } + } + else { + for (T t : collection2) { + if (collection1.contains(t)) { + return true; + } } } return false;