diff options
Diffstat (limited to 'platform/util/src/com/intellij/util/containers/ContainerUtil.java')
-rw-r--r-- | platform/util/src/com/intellij/util/containers/ContainerUtil.java | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/platform/util/src/com/intellij/util/containers/ContainerUtil.java b/platform/util/src/com/intellij/util/containers/ContainerUtil.java index dca7a0e6b30d..40bd75a2eff8 100644 --- a/platform/util/src/com/intellij/util/containers/ContainerUtil.java +++ b/platform/util/src/com/intellij/util/containers/ContainerUtil.java @@ -1073,7 +1073,8 @@ public class ContainerUtil extends ContainerUtilRt { } public static <T, U extends T> U findInstance(@NotNull Iterator<T> iterator, @NotNull Class<U> aClass) { - @SuppressWarnings("unchecked") U u = (U)find(iterator, new FilteringIterator.InstanceOf<U>(aClass)); + //noinspection unchecked + U u = (U)find(iterator, FilteringIterator.instanceOf(aClass)); return u; } @@ -1429,6 +1430,16 @@ public class ContainerUtil extends ContainerUtilRt { return sorted; } + @NotNull + public static <T extends Comparable<T>> List<T> sorted(@NotNull Collection<T> list) { + return sorted(list, new Comparator<T>() { + @Override + public int compare(T o1, T o2) { + return o1.compareTo(o2); + } + }); + } + public static <T> void sort(@NotNull T[] a, @NotNull Comparator<T> comparator) { int size = a.length; @@ -1927,6 +1938,15 @@ public class ContainerUtil extends ContainerUtilRt { return -1; } + public static <T> int indexOf(@NotNull List<T> list, @NotNull final T object) { + return indexOf(list, new Condition<T>() { + @Override + public boolean value(T t) { + return t.equals(object); + } + }); + } + @NotNull public static <A,B> Map<B,A> reverseMap(@NotNull Map<A,B> map) { final Map<B,A> result = newHashMap(); |