diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-07-14 16:35:31 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-07-14 16:35:31 +0100 |
| commit | 284d439f4db00be49de12862b2610a40d84cfc81 (patch) | |
| tree | a6a3161536b58ff9e5a4491d9820046096e9907c /src/main/java/org/zwobble/couscous/util/ExtraIterables.java | |
| parent | 6d5608b5061bc7b5e40db9c37f186cfd0d48a3e6 (diff) | |
Remove NodeMapper in favour of a DynamicNodeMapper
Diffstat (limited to 'src/main/java/org/zwobble/couscous/util/ExtraIterables.java')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/util/ExtraIterables.java | 11 |
1 files changed, 11 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 d8635c9..1140462 100644 --- a/src/main/java/org/zwobble/couscous/util/ExtraIterables.java +++ b/src/main/java/org/zwobble/couscous/util/ExtraIterables.java @@ -4,8 +4,10 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import java.util.Iterator; +import java.util.Optional; import java.util.function.BiFunction; import java.util.function.Function; +import java.util.function.Predicate; import java.util.function.Supplier; import java.util.stream.Stream; import java.util.stream.StreamSupport; @@ -96,6 +98,15 @@ public class ExtraIterables { }; } + public static <T> Optional<T> find(Iterable<T> iterable, Predicate<T> predicate) { + for (T element : iterable) { + if (predicate.test(element)) { + return Optional.of(element); + } + } + return Optional.empty(); + } + public static <T, R> Iterable<R> lazyMap(Iterable<T> iterable, Function<T, R> function) { return new Iterable<R>() { @Override |
