aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/util
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-10-31 15:18:10 +0000
committerMichael Williamson <mike@zwobble.org>2015-10-31 15:18:10 +0000
commitf80befcf2be566d35e5a17646899bfed82473029 (patch)
treec7bba09d731ae1b7edf7b8b5faa54bcadf3843a3 /src/main/java/org/zwobble/couscous/util
parent6f2fe3a3ce471e658030f4c9fcee3b8468160f6e (diff)
Use eagerMap instead of Lists.transform
Diffstat (limited to 'src/main/java/org/zwobble/couscous/util')
-rw-r--r--src/main/java/org/zwobble/couscous/util/ExtraLists.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/util/ExtraLists.java b/src/main/java/org/zwobble/couscous/util/ExtraLists.java
index 36c9b06..590b466 100644
--- a/src/main/java/org/zwobble/couscous/util/ExtraLists.java
+++ b/src/main/java/org/zwobble/couscous/util/ExtraLists.java
@@ -5,6 +5,7 @@ import java.util.function.BiFunction;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
+import java.util.stream.StreamSupport;
public class ExtraLists {
@SuppressWarnings("unchecked")
@@ -26,6 +27,14 @@ public class ExtraLists {
}
}
+ public static <T, R> List<R> eagerMap(
+ Iterable<T> iterable,
+ Function<T, R> function) {
+ return StreamSupport.stream(iterable.spliterator(), false)
+ .map(function)
+ .collect(Collectors.toList());
+ }
+
@FunctionalInterface
public static interface CheckedFunction<T, R, E extends Exception> {
R apply(T value) throws E;