@Override public boolean noneMatch(final Predicate<? super T> predicate) { boolean match = false; for (final T t : this) { match = !predicate.test(t); if (!match) { break; } } return match; }
@Override public boolean allMatch(final Predicate<? super T> predicate) { boolean match = false; for (final T t : this) { match = predicate.test(t); if (!match) { break; } } return match; }
@Override public boolean anyMatch(final Predicate<? super T> predicate) { boolean match = false; for (final T t : this) { if (predicate.test(t)) { match = true; break; } } return match; }
@Override public void foreach(final Consumer<? super T> action) { for (final T t : iterable) { if (predicate.test(t)) { action.accept(t); } } }
@Override public boolean hasNext() { if (next != null) { return true; } while (iterator.hasNext()) { next = iterator.next(); if (predicate.test(next)) { return true; } } next = null; return false; }