summaryrefslogtreecommitdiff
path: root/platform/util/src/com/intellij/util/containers/ContainerUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/util/src/com/intellij/util/containers/ContainerUtil.java')
-rw-r--r--platform/util/src/com/intellij/util/containers/ContainerUtil.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/platform/util/src/com/intellij/util/containers/ContainerUtil.java b/platform/util/src/com/intellij/util/containers/ContainerUtil.java
index 4a9c7bde5614..6052df2b701e 100644
--- a/platform/util/src/com/intellij/util/containers/ContainerUtil.java
+++ b/platform/util/src/com/intellij/util/containers/ContainerUtil.java
@@ -1417,6 +1417,13 @@ public class ContainerUtil extends ContainerUtilRt {
}
}
+ @NotNull
+ public static <T> List<T> sorted(@NotNull Collection<T> list, @NotNull Comparator<T> comparator) {
+ List<T> sorted = newArrayList(list);
+ sort(sorted, comparator);
+ return sorted;
+ }
+
public static <T> void sort(@NotNull T[] a, @NotNull Comparator<T> comparator) {
int size = a.length;
@@ -2065,6 +2072,17 @@ public class ContainerUtil extends ContainerUtilRt {
return collection == null || collection.isEmpty();
}
+ @NotNull
+ public static <T, C extends Collection<T>> C notNullize(@Nullable C collection) {
+ //noinspection unchecked
+ return collection == null ? (C)ContainerUtilRt.emptyList() : collection;
+ }
+
+ @Nullable
+ public static <T, C extends Collection<T>> C nullize(@Nullable C collection) {
+ return isEmpty(collection) ? null : collection;
+ }
+
private interface ConcurrentMapFactory {
@NotNull <T, V> ConcurrentMap<T, V> createMap();
@NotNull <T, V> ConcurrentMap<T, V> createMap(int initialCapacity);