diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-04-10 22:39:04 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-04-10 22:39:04 +0100 |
| commit | 85bcbfd70fff22169916c9fc1464afd00c376a2a (patch) | |
| tree | 31bb49917d69a0179e2433066e567db343e3ca55 /src/main/java/org/zwobble/couscous/util/ExtraIterables.java | |
| parent | b04445f384b6fbb1e77a4c35af25e9311aafdb8d (diff) | |
Split classes with type parameters into static and instance classes
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 |
