aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/utils/CollectionUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/shedaniel/rei/utils/CollectionUtils.java')
-rw-r--r--src/main/java/me/shedaniel/rei/utils/CollectionUtils.java30
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));
}
}