diff options
Diffstat (limited to 'src/main/java/org/zwobble/couscous/util/ExtraIterables.java')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/util/ExtraIterables.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/util/ExtraIterables.java b/src/main/java/org/zwobble/couscous/util/ExtraIterables.java index 0fcc9af..4b8b802 100644 --- a/src/main/java/org/zwobble/couscous/util/ExtraIterables.java +++ b/src/main/java/org/zwobble/couscous/util/ExtraIterables.java @@ -86,6 +86,15 @@ public class ExtraIterables { return Iterables.concat(list(head), tails); } + public static <T> Iterable<T> lazyFilter(Iterable<T> iterable, java.util.function.Predicate<T> predicate) { + return new Iterable<T>() { + @Override + public Iterator<T> iterator() { + return stream(iterable).filter(predicate).iterator(); + } + }; + } + public static <T, R> Iterable<R> lazyMap(Iterable<T> iterable, Function<T, R> function) { return new Iterable<R>() { @Override |
