From 0d8c3fa7d1422067ec3c4a1b2d624db9afb54ab4 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Mon, 6 Jan 2020 15:01:10 +0800 Subject: 3.3.4 --- .../me/shedaniel/rei/utils/CollectionUtils.java | 30 +++++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) (limited to 'src/main/java/me/shedaniel/rei/utils/CollectionUtils.java') 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 List filter(List list, Predicate predicate) { - List l = new LinkedList<>(); + List l = Lists.newArrayList(); + for (T t : list) { + if (predicate.test(t)) { + l.add(t); + } + } + return l; + } + + public static Set filter(Set list, Predicate predicate) { + Set l = Sets.newLinkedHashSet(); + for (T t : list) { + if (predicate.test(t)) { + l.add(t); + } + } + return l; + } + + public static List filterSetToList(Set list, Predicate predicate) { + List l = Lists.newArrayList(); for (T t : list) { if (predicate.test(t)) { l.add(t); @@ -65,7 +87,7 @@ public class CollectionUtils { } public static List map(List list, Function function) { - List l = new LinkedList<>(); + List l = Lists.newArrayList(); for (T t : list) { l.add(function.apply(t)); } @@ -73,7 +95,7 @@ public class CollectionUtils { } public static List map(T[] list, Function function) { - List l = new LinkedList<>(); + List 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)); } } -- cgit