Package eu.bandm.tools.ops
Class Iterators
java.lang.Object
eu.bandm.tools.ops.Iterators
Library of combinators for classes implementing
Iterator.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic interface(package private) static classstatic classVisitor which performs the methodIterators.Pairwise.first(Object)for the first element of an Iterable; afterwards the methodIterators.Pairwise.pairwise(Object,Object)for each pair of adjacent elements, and at last the methodIterators.Pairwise.last(Object).static interface(package private) static classstatic classVisitor which performs the methodIterators.Triplewise.action(Object,Object,Object)for triples of adjacent elements of an Iterable. -
Method Summary
Modifier and TypeMethodDescriptionstatic <E,F> Iterator<F> static <A> Iterator<A>cacheHasNext(Iterator<A> i) static <A> Iterator<A>Forgets a wildcard in the element type of a given iterator.static <A,B> Iterator<B> comprehend(Iterator<A> gen, Function<? super A, ? extends Iterator<B>> fun) Deprecated.??? SONAR-BTstatic <A,B> Iterator<B> comprehend(Iterator<A> gen, Predicate<? super A> filter, Function<? super A, ? extends B> map) Deprecated.??? SONAR-BTstatic <E> Iterator<E>Returns an iterator consisting of the combined elements of two given iterators in order.static <E> Iterator<E>Returns an iterator consisting of the given first element preceding the remaining elements of a given iterator.static <A> Iterator<A>static <A> voidelementwise(Consumer<? super A> sink, Iterator<A> it) static <E> Iterator<E>empty()Returns an iterator consisting of no elements.static <E> Iterator<E>Returns an iterator consisting of the remaining elements of a given iterator that match the given predicate.static <A,B> Iterator<A> filterWithConstraint(BiPredicate<? super A, ? super B> rel, Iterator<A> things, Iterator<B> constraints) static <E> Iterator<E>Returns an iterator consisting of the combined elements of all iterators returned by a given iterator in order.static <A> Iterators.LookaheadIterator<A>static <A,B> Iterator<B> Returns an iterator consisting of the results of applying the given function to the remaining elements of a given iterator.static <A> Iterator<A>merge(Comparator<? super A> order, boolean removeDuplicates, Iterator<? extends A> left, Iterator<? extends A> right) static <E> Iterator<E>of(E... things) Returns an iterator consisting of exactly the given elements.static <E> Iterator<E>singleton(E value) Returns an iterator consisting of exactly one given element.static <A> Iterator<A>static <A> Iterator<A>unmodifiableIterator(Iterator<A> i)
-
Method Details
-
cast
Forgets a wildcard in the element type of a given iterator.- Parameters:
iterator- an iterator- Returns:
- the same iterator
-
empty
Returns an iterator consisting of no elements.- Type Parameters:
E- the type of elements returned by the returned iterator- Returns:
- an iterator that has no elements
-
singleton
Returns an iterator consisting of exactly one given element. The element is not removable.- Type Parameters:
E- the type of elements returned by the returned iterator- Parameters:
value- the single element of the returned iterator- Returns:
- an iterator that has exactly the given element
-
of
Returns an iterator consisting of exactly the given elements. Elements are not removable.- Type Parameters:
E- the type of elements returned by the returned iterator- Parameters:
things- the elements of the returned iterator- Returns:
- an iterator that has exactly the given elements
-
cons
Returns an iterator consisting of the given first element preceding the remaining elements of a given iterator. The first element is not removable. Further removal requests are passed through to the underlying iterator.- Type Parameters:
E- the type of elements returned by the returned iterator- Parameters:
first- the first elementrest- the iterator of the succeeding elements- Returns:
- an iterator that returns the first element followed by the
remaining elements of
rest - Throws:
NullPointerException- ifrest == null
-
concat
Returns an iterator consisting of the combined elements of two given iterators in order. Removal requests are passed through to the underlying iterators.- Type Parameters:
E- the type of elements returned by the returned iterator- Parameters:
first- the first iterator to consult for elementssecond- the second iterator to consult for elements- Returns:
- an iterator that returns all remaining elements of
first, followed by all remaining elements ofsecond - Throws:
NullPointerException- iffirst == nullorsecond == null
-
flatten
Returns an iterator consisting of the combined elements of all iterators returned by a given iterator in order. Removal requests are passed through to the underlying iterators.- Type Parameters:
E- the type of elements returned by the returned iterator- Parameters:
iterators- the iterators to be combined- Returns:
- the combined interator
- Throws:
NullPointerException- ifiterators == nullor one in the list is==null.
-
bind
@Undocumented public static <E,F> Iterator<F> bind(Function<? super E, ? extends Iterator<? extends F>> fun, Iterator<E> things) -
filter
Returns an iterator consisting of the remaining elements of a given iterator that match the given predicate. Removal requests are passed through to the underlying iterator. -
map
Returns an iterator consisting of the results of applying the given function to the remaining elements of a given iterator. Removal requests are passed through to the underlying iterator. -
comprehend
@Deprecated(since="0.0") public static <A,B> Iterator<B> comprehend(Iterator<A> gen, Predicate<? super A> filter, Function<? super A, ? extends B> map) Deprecated.??? SONAR-BT -
comprehend
@Deprecated(since="0.0") public static <A,B> Iterator<B> comprehend(Iterator<A> gen, Function<? super A, ? extends Iterator<B>> fun) Deprecated.??? SONAR-BT -
unmodifiableIterator
-
lookahead
@Undocumented public static <A> Iterators.LookaheadIterator<A> lookahead(Iterator<? extends A> things) -
merge
@Undocumented public static <A> Iterator<A> merge(Comparator<? super A> order, boolean removeDuplicates, Iterator<? extends A> left, Iterator<? extends A> right) -
filterWithConstraint
@Undocumented public static <A,B> Iterator<A> filterWithConstraint(BiPredicate<? super A, ? super B> rel, Iterator<A> things, Iterator<B> constraints) -
cacheHasNext
-
drop
-
take
-
elementwise
-