diff options
| author | shedaniel <daniel@shedaniel.me> | 2020-01-06 15:01:10 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2020-01-06 15:01:10 +0800 |
| commit | 0d8c3fa7d1422067ec3c4a1b2d624db9afb54ab4 (patch) | |
| tree | 27ede6fd331aa9641b3a3d55dddaa084011c2ae2 /src/main/java/me/shedaniel/rei/utils/CollectionUtils.java | |
| parent | 22494701d3080868d6dbf4d5ae9f4100a5332d9e (diff) | |
| download | RoughlyEnoughItems-0d8c3fa7d1422067ec3c4a1b2d624db9afb54ab4.tar.gz RoughlyEnoughItems-0d8c3fa7d1422067ec3c4a1b2d624db9afb54ab4.tar.bz2 RoughlyEnoughItems-0d8c3fa7d1422067ec3c4a1b2d624db9afb54ab4.zip | |
3.3.4
Diffstat (limited to 'src/main/java/me/shedaniel/rei/utils/CollectionUtils.java')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/utils/CollectionUtils.java | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/src/main/java/me/shedaniel/rei/utils/CollectionUtils.java b/src/main/java/me/shedaniel/rei/utils/CollectionUtils.java index b23b802c7..296c9c747 100644 --- a/src/main/java/me/shedaniel/rei/utils/CollectionUtils.java +++ b/src/main/java/me/shedaniel/rei/utils/CollectionUtils.java @@ -5,6 +5,8 @@ package me.shedaniel.rei.utils; +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; import me.shedaniel.rei.api.EntryStack; import me.shedaniel.rei.api.annotations.Internal; @@ -55,7 +57,27 @@ public class CollectionUtils { } public static <T> List<T> filter(List<T> list, Predicate<T> predicate) { - List<T> l = new LinkedList<>(); + List<T> l = Lists.newArrayList(); + for (T t : list) { + if (predicate.test(t)) { + l.add(t); + } + } + return l; + } + + public static <T> Set<T> filter(Set<T> list, Predicate<T> predicate) { + Set<T> l = Sets.newLinkedHashSet(); + for (T t : list) { + if (predicate.test(t)) { + l.add(t); + } + } + return l; + } + + public static <T> List<T> filterSetToList(Set<T> list, Predicate<T> predicate) { + List<T> l = Lists.newArrayList(); for (T t : list) { if (predicate.test(t)) { l.add(t); @@ -65,7 +87,7 @@ public class CollectionUtils { } public static <T, R> List<R> map(List<T> list, Function<T, R> function) { - List<R> l = new LinkedList<>(); + List<R> l = Lists.newArrayList(); for (T t : list) { l.add(function.apply(t)); } @@ -73,7 +95,7 @@ public class CollectionUtils { } public static <T, R> List<R> map(T[] list, Function<T, R> function) { - List<R> l = new LinkedList<>(); + List<R> l = Lists.newArrayList(); for (T t : list) { l.add(function.apply(t)); } @@ -149,7 +171,7 @@ public class CollectionUtils { for (T t : list) { if (predicate.test(t)) { if (l == null) - l = new LinkedList<>(); + l = Lists.newArrayList(); l.add(function.apply(t)); } } |
