diff options
Diffstat (limited to 'src/main/java/org/zwobble/couscous/util/ExtraArrays.java')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/util/ExtraArrays.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/util/ExtraArrays.java b/src/main/java/org/zwobble/couscous/util/ExtraArrays.java index c4ebc57..457b77b 100644 --- a/src/main/java/org/zwobble/couscous/util/ExtraArrays.java +++ b/src/main/java/org/zwobble/couscous/util/ExtraArrays.java @@ -1,11 +1,18 @@ package org.zwobble.couscous.util; import java.util.Arrays; +import java.util.function.BiFunction; import java.util.function.Function; +import java.util.stream.IntStream; import java.util.stream.Stream; import java.util.stream.StreamSupport; public class ExtraArrays { + public static <T, R> Stream<R> mapWithIndex(T[] array, BiFunction<Integer, T, R> function) { + return IntStream.range(0, array.length) + .mapToObj(index -> function.apply(index, array[index])); + } + public static <T, R> Stream<R> map(T[] array, Function<T, R> function) { return stream(array).map(function); } |
