public final class ObjectIterators
extends java.lang.Object
Iterator| Modifier and Type | Class | Description |
|---|---|---|
static class |
ObjectIterators.EmptyIterator<K> |
A class returning no elements and a type-specific iterator interface.
|
static class |
ObjectIterators.UnmodifiableBidirectionalIterator<K> |
An unmodifiable wrapper class for bidirectional iterators.
|
static class |
ObjectIterators.UnmodifiableIterator<K> |
An unmodifiable wrapper class for iterators.
|
static class |
ObjectIterators.UnmodifiableListIterator<K> |
An unmodifiable wrapper class for list iterators.
|
| Modifier and Type | Field | Description |
|---|---|---|
static ObjectIterators.EmptyIterator |
EMPTY_ITERATOR |
An empty iterator.
|
| Modifier and Type | Method | Description |
|---|---|---|
static <K> boolean |
all(ObjectIterator<K> iterator,
java.util.function.Predicate<? super K> predicate) |
|
static <K> boolean |
any(ObjectIterator<K> iterator,
java.util.function.Predicate<? super K> predicate) |
|
static <K> ObjectIterator<K> |
asObjectIterator(java.util.Iterator<K> i) |
Wraps a standard iterator into a type-specific iterator.
|
static <K> ObjectListIterator<K> |
asObjectIterator(java.util.ListIterator<K> i) |
Wraps a standard list iterator into a type-specific list iterator.
|
static <K> ObjectIterator<K> |
concat(ObjectIterator<? extends K>[] a) |
Concatenates all iterators contained in an array.
|
static <K> ObjectIterator<K> |
concat(ObjectIterator<? extends K>[] a,
int offset,
int length) |
Concatenates a sequence of iterators contained in an array.
|
static <K> ObjectIterator<K> |
emptyIterator() |
Returns an empty iterator.
|
static <K> int |
indexOf(ObjectIterator<K> iterator,
java.util.function.Predicate<? super K> predicate) |
|
static <K> ObjectList<K> |
pour(java.util.Iterator<K> i) |
Pours an iterator, returning a type-specific list.
|
static <K> ObjectList<K> |
pour(java.util.Iterator<K> i,
int max) |
Pours an iterator, returning a type-specific list, with a limit on the number
of elements.
|
static <K> int |
pour(java.util.Iterator<K> i,
ObjectCollection<? super K> s) |
Pours an iterator into a type-specific collection.
|
static <K> int |
pour(java.util.Iterator<K> i,
ObjectCollection<? super K> s,
int max) |
Pours an iterator into a type-specific collection, with a limit on the number
of elements.
|
static <K> ObjectListIterator<K> |
singleton(K element) |
Returns an immutable iterator that iterates just over the given element.
|
static <K> ObjectBidirectionalIterator<K> |
unmodifiable(ObjectBidirectionalIterator<K> i) |
Returns an unmodifiable bidirectional iterator backed by the specified
bidirectional iterator.
|
static <K> ObjectIterator<K> |
unmodifiable(ObjectIterator<K> i) |
Returns an unmodifiable iterator backed by the specified iterator.
|
static <K> ObjectListIterator<K> |
unmodifiable(ObjectListIterator<K> i) |
Returns an unmodifiable list iterator backed by the specified list iterator.
|
static <K> K[] |
unwrap(java.util.Iterator<? extends K> i) |
Unwraps an iterator, returning an array.
|
static <K> K[] |
unwrap(java.util.Iterator<? extends K> i,
int max) |
Unwraps an iterator, returning an array, with a limit on the number of
elements.
|
static <K> int |
unwrap(java.util.Iterator<? extends K> i,
K[] array) |
Unwraps an iterator into an array.
|
static <K> int |
unwrap(java.util.Iterator<? extends K> i,
K[] array,
int offset,
int max) |
Unwraps an iterator into an array starting at a given offset for a given
number of elements.
|
static <K> long |
unwrap(java.util.Iterator<K> i,
ObjectCollection<? super K> c) |
Unwraps an iterator into a type-specific collection.
|
static <K> int |
unwrap(java.util.Iterator<K> i,
ObjectCollection<? super K> c,
int max) |
Unwraps an iterator into a type-specific collection, with a limit on the
number of elements.
|
static <K> ObjectListIterator<K> |
wrap(K[] array) |
Wraps the given array into a type-specific list iterator.
|
static <K> ObjectListIterator<K> |
wrap(K[] array,
int offset,
int length) |
Wraps the given part of an array into a type-specific list iterator.
|
public static final ObjectIterators.EmptyIterator EMPTY_ITERATOR
The class of this objects represent an abstract empty iterator that can iterate as a type-specific (list) iterator.
public static <K> ObjectIterator<K> emptyIterator()
The class of the object returned represent an abstract empty iterator that can iterate as a type-specific (list) iterator.
This method provides a typesafe access to EMPTY_ITERATOR.
public static <K> ObjectListIterator<K> singleton(K element)
element - the only element to be returned by a type-specific list iterator.element.public static <K> ObjectListIterator<K> wrap(K[] array, int offset, int length)
The type-specific list iterator returned by this method will iterate
length times, returning consecutive elements of the given array
starting from the one with index offset.
array - an array to wrap into a type-specific list iterator.offset - the first element of the array to be returned.length - the number of elements to return.length elements of array
starting at position offset.public static <K> ObjectListIterator<K> wrap(K[] array)
The type-specific list iterator returned by this method will return all elements of the given array.
array - an array to wrap into a type-specific list iterator.array.public static <K> int unwrap(java.util.Iterator<? extends K> i,
K[] array,
int offset,
int max)
This method iterates over the given type-specific iterator and stores the
elements returned, up to a maximum of length, in the given array
starting at offset. The number of actually unwrapped elements is
returned (it may be less than max if the iterator emits less than
max elements).
i - a type-specific iterator.array - an array to contain the output of the iterator.offset - the first element of the array to be returned.max - the maximum number of elements to unwrap.public static <K> int unwrap(java.util.Iterator<? extends K> i,
K[] array)
This method iterates over the given type-specific iterator and stores the elements returned in the given array. The iteration will stop when the iterator has no more elements or when the end of the array has been reached.
i - a type-specific iterator.array - an array to contain the output of the iterator.public static <K> K[] unwrap(java.util.Iterator<? extends K> i,
int max)
This method iterates over the given type-specific iterator and returns an
array containing the elements returned by the iterator. At most max
elements will be returned.
i - a type-specific iterator.max - the maximum number of elements to be unwrapped.max).public static <K> K[] unwrap(java.util.Iterator<? extends K> i)
This method iterates over the given type-specific iterator and returns an array containing the elements returned by the iterator.
i - a type-specific iterator.public static <K> int unwrap(java.util.Iterator<K> i,
ObjectCollection<? super K> c,
int max)
This method iterates over the given type-specific iterator and stores the
elements returned, up to a maximum of max, in the given type-specific
collection. The number of actually unwrapped elements is returned (it may be
less than max if the iterator emits less than max elements).
i - a type-specific iterator.c - a type-specific collection array to contain the output of the
iterator.max - the maximum number of elements to unwrap.public static <K> long unwrap(java.util.Iterator<K> i,
ObjectCollection<? super K> c)
This method iterates over the given type-specific iterator and stores the elements returned in the given type-specific collection. The returned count on the number unwrapped elements is a long, so that it will work also with very large collections.
i - a type-specific iterator.c - a type-specific collection to contain the output of the iterator.public static <K> int pour(java.util.Iterator<K> i,
ObjectCollection<? super K> s,
int max)
This method iterates over the given type-specific iterator and adds the
returned elements to the given collection (up to max).
i - a type-specific iterator.s - a type-specific collection.max - the maximum number of elements to be poured.public static <K> int pour(java.util.Iterator<K> i,
ObjectCollection<? super K> s)
This method iterates over the given type-specific iterator and adds the returned elements to the given collection.
i - a type-specific iterator.s - a type-specific collection.public static <K> ObjectList<K> pour(java.util.Iterator<K> i, int max)
This method iterates over the given type-specific iterator and returns a
type-specific list containing the returned elements (up to max).
Iteration on the returned list is guaranteed to produce the elements in the
same order in which they appeared in the iterator.
i - a type-specific iterator.max - the maximum number of elements to be poured.max.public static <K> ObjectList<K> pour(java.util.Iterator<K> i)
This method iterates over the given type-specific iterator and returns a list containing the returned elements. Iteration on the returned list is guaranteed to produce the elements in the same order in which they appeared in the iterator.
i - a type-specific iterator.public static <K> ObjectIterator<K> asObjectIterator(java.util.Iterator<K> i)
This method wraps a standard iterator into a type-specific one which will
handle the type conversions for you. Of course, any attempt to wrap an
iterator returning the instances of the wrong class will generate a
ClassCastException. The returned iterator is backed by i:
changes to one of the iterators will affect the other, too.
If i is already type-specific, it will returned and no new object
will be generated.
i - an iterator.i.public static <K> ObjectListIterator<K> asObjectIterator(java.util.ListIterator<K> i)
This method wraps a standard list iterator into a type-specific one which
will handle the type conversions for you. Of course, any attempt to wrap an
iterator returning the instances of the wrong class will generate a
ClassCastException. The returned iterator is backed by i:
changes to one of the iterators will affect the other, too.
If i is already type-specific, it will returned and no new object
will be generated.
i - a list iterator.i.public static <K> boolean any(ObjectIterator<K> iterator, java.util.function.Predicate<? super K> predicate)
public static <K> boolean all(ObjectIterator<K> iterator, java.util.function.Predicate<? super K> predicate)
public static <K> int indexOf(ObjectIterator<K> iterator, java.util.function.Predicate<? super K> predicate)
public static <K> ObjectIterator<K> concat(ObjectIterator<? extends K>[] a)
This method returns an iterator that will enumerate in order the elements returned by all iterators contained in the given array.
a - an array of iterators.public static <K> ObjectIterator<K> concat(ObjectIterator<? extends K>[] a, int offset, int length)
This method returns an iterator that will enumerate in order the elements
returned by a[offset], then those returned by a[offset + 1],
and so on up to a[offset + length - 1].
a - an array of iterators.offset - the index of the first iterator to concatenate.length - the number of iterators to concatenate.length elements of
a starting at offset.public static <K> ObjectIterator<K> unmodifiable(ObjectIterator<K> i)
i - the iterator to be wrapped in an unmodifiable iterator.public static <K> ObjectBidirectionalIterator<K> unmodifiable(ObjectBidirectionalIterator<K> i)
i - the bidirectional iterator to be wrapped in an unmodifiable
bidirectional iterator.public static <K> ObjectListIterator<K> unmodifiable(ObjectListIterator<K> i)
i - the list iterator to be wrapped in an unmodifiable list iterator.