Top Description Methods
io.vavr.collection

public Interface Iterator<T>

Additional top-level class in compilation unit: IteratorModule.

extends Iterator<T>, Traversable<T>
Known Direct Implementers
io.vavr.collection.IteratorModule.EmptyIterator, io.vavr.collection.IteratorModule.GroupedIterator, io.vavr.collection.StreamModule.FlatMapIterator, io.vavr.collection.AbstractIterator
Type Parameters
<T>
Component type
Imports
io.vavr.*, io.vavr.collection.IteratorModule.ConcatIterator, .IteratorModule.DistinctIterator, .IteratorModule.GroupedIterator, io.vavr.control.Option, java.math.BigDecimal, java.util.*, java.util.concurrent.atomic.AtomicReference, java.util.function.*

io.vavr.collection.Iterator is a compositional replacement for java.util.Iterator whose purpose is to iterate once over a sequence of elements.

Note

Iterators encapsulate mutable state. They are not meant to be used concurrently by different threads. Do not reuse Iterators, e.g. after passing to io.vavr.collection.List#ofAll(Iterable).

There are two abstract methods: hasNext for checking if there is a next element available, and next which removes the next element from the iterator and returns it. They can be called an arbitrary amount of times. If hasNext returns false, a call of next will throw a NoSuchElementException.

Caution

Other methods than hasNext and next can be called only once (exclusively). More specifically, after calling a method it cannot be guaranteed that the next call will succeed.

An Iterator that can be only used once because it is a traversal pointer into a collection, and not a collection itself.

Author
Daniel Dietrich

Method Summary

Modifier and TypeMethod and Description
public default <R> Iterator<R>
collect(PartialFunction<? super T, ? extends R>
A function that is not necessarily defined of all elements of this traversable.
partialFunction
)

Implements io.vavr.collection.Traversable.collect.

Collects all elements that are in the domain of the given partialFunction by mapping the elements to type R.

public static <
Component type.
T
>
Iterator<T>

Returns:

A new io.vavr.collection.Iterator
concat
(Iterable<? extends T>...
The iterables
iterables
)

Creates an Iterator which traverses along the concatenation of the given iterables.

public static <
Component type.
T
>
Iterator<T>

Returns:

A new io.vavr.collection.Iterator
concat
(Iterable<? extends Iterable<? extends T>>
The iterable of iterables
iterables
)

Creates an Iterator which traverses along the concatenation of the given iterables.

public default Iterator<T>
concat(Iterator<? extends T> that)

public static <
value type
T
>
Iterator<T>

Returns:

A new Iterator
continually
(Supplier<? extends T>
A Supplier of iterator values
supplier
)

Generates an infinite iterator using a value Supplier.

public static <
Element type
T
>
Iterator<T>

Returns:

A new Iterator containing infinite t's.
continually
(T
An element
t
)

Creates an infinite iterator returning the given element.

public default Iterator<T>
distinct()

Implements io.vavr.collection.Traversable.distinct.

Returns a new version of this which contains no duplicates.

public default Iterator<T>
distinctBy(Comparator<? super T>
A comparator
comparator
)

Implements io.vavr.collection.Traversable.distinctBy.

Returns a new version of this which contains no duplicates.

public default <U> Iterator<T>
distinctBy(Function<? super T, ? extends U>
A key extractor
keyExtractor
)

Implements io.vavr.collection.Traversable.distinctBy.

Returns a new version of this which contains no duplicates.

public default Iterator<T>

Returns:

The empty iterator, if n <= 0 or this is empty, otherwise a new iterator without the first n elements.
drop
(int
A number
n
)

Implements io.vavr.collection.Traversable.drop.

Removes up to n elements from this iterator.

public default Iterator<T>
dropRight(int
The number of elements to drop.
n
)

Implements io.vavr.collection.Traversable.dropRight.

Drops the last n elements of this or all elements, if this length < n.

public default Iterator<T>
dropUntil(Predicate<? super T>
A condition tested subsequently for this elements.
predicate
)

Implements io.vavr.collection.Traversable.dropUntil.

Drops elements until the predicate holds for the current element.

public default Iterator<T>
dropWhile(Predicate<? super T>
A condition tested subsequently for this elements.
predicate
)

Implements io.vavr.collection.Traversable.dropWhile.

Drops elements while the predicate holds for the current element.

public static <
Component type
T
>
Iterator<T>

Returns:

The empty Iterator
empty
()

Returns the empty Iterator.

public static <
Component type of the Iterator
T
>
Iterator<T>

Returns:

An iterator on a sequence of n elements, where each element contains the result supplied by s.
fill
(int
The number of elements
n
,
Supplier<? extends T>
The Supplier computing element values
s
)

Returns an Iterator on a sequence of n values supplied by a given Supplier s.

public static <
Component type of the Iterator
T
>
Iterator<T>

Returns:

An iterator of n sequence elements, where each element is the given element.
fill
(int
The number of elements
n
,
T
The element
element
)

Returns a Iterator containing n times the given element

public default Iterator<T>

Returns:

A new Iterator
filter
(Predicate<? super T>
A predicate
predicate
)

Implements io.vavr.collection.Traversable.filter.

Returns an Iterator that contains elements that satisfy the given predicate.

public default Option<T>
findLast(Predicate<? super T>
A predicate.
predicate
)

Overrides default io.vavr.collection.Traversable.findLast.

Returns the last element of this which satisfies the given predicate.

public default <
Component type
U
>
Iterator<U>

Returns:

A new Iterable
flatMap
(Function<? super T, ? extends Iterable<? extends U>>
A mapper
mapper
)

Implements io.vavr.collection.Traversable.flatMap.

FlatMaps the elements of this Iterator to Iterables, which are iterated in the order of occurrence.

public default <U> U
foldRight(U
A zero element to start with.
zero
,
BiFunction<? super T, ? super U, ? extends U>
A function which combines elements.
f
)

Implements io.vavr.collection.Traversable.foldRight.

Folds this elements from the right, starting with zero and successively calling combine.

public static Iterator<Integer>

Returns:

a new Iterator of int values starting from from
from
(int
a start int value
value
)

Returns an infinite iterator of int values starting from value.

public static Iterator<Integer>

Returns:

a new Iterator of int values starting from from
from
(int
a start int value
value
,
int
the step by which to advance on each iteration
step
)

Returns an infinite iterator of int values starting from value and spaced by step.

public static Iterator<Long>

Returns:

a new Iterator of long values starting from from
from
(long
a start long value
value
)

Returns an infinite iterator of long values starting from value.

public static Iterator<Long>

Returns:

a new Iterator of long values starting from from
from
(long
a start long value
value
,
long
the step by which to advance on each iteration
step
)

Returns an infinite iterator of long values starting from value and spaced by step.

public default T
get()

Overrides default io.vavr.collection.Traversable.get.

Gets the first value in iteration order if this Traversable is not empty, otherwise throws.

public default <C> Map<C, Iterator<T>>
groupBy(Function<? super T, ? extends C>
A function which classifies elements into classes
classifier
)

Implements io.vavr.collection.Traversable.groupBy.

Groups this elements by classifying the elements.

public default Iterator<Seq<T>>
grouped(int
a positive block size
size
)

Implements io.vavr.collection.Traversable.grouped.

Groups this Traversable into fixed size blocks.

public default boolean
hasDefiniteSize()

Implements io.vavr.collection.Traversable.hasDefiniteSize.

Checks if this Traversable is known to have a finite size.

public default T
head()

Implements io.vavr.collection.Traversable.head.

Returns the first element of a non-empty Traversable.

public default Iterator<T>
init()

Implements io.vavr.collection.Traversable.init.

Dual of tail(), returning all elements except the last.

public default Option<Iterator<T>>
initOption()

Overrides default io.vavr.collection.Traversable.initOption.

Dual of tailOption(), returning all elements except the last as Option.

public default Iterator<T>

Returns:

an interspersed version of this
intersperse
(T
An element.
element
)

Inserts an element between all elements of this Iterator.

public default boolean

Returns:

false
isAsync
()

Implements io.vavr.Value.isAsync.

An Iterator is computed synchronously.

public default boolean
isEmpty()

Overrides default io.vavr.collection.Traversable.isEmpty.

Checks if this Traversable is empty.

public default boolean

Returns:

true
isLazy
()

Implements io.vavr.Value.isLazy.

An Iterator is computed lazily.

public default boolean
isSequential()

Overrides default io.vavr.collection.Traversable.isSequential.

Checks if the elements of this Traversable appear in encounter order.

public default boolean
isTraversableAgain()

Implements io.vavr.collection.Traversable.isTraversableAgain.

Checks if this Traversable can be repeatedly traversed.

public static <
value type
T
>
Iterator<T>

Returns:

A new Iterator
iterate
(Supplier<? extends Option<? extends T>>
A Supplier of iterator values
supplier
)

Creates an iterator that repeatedly invokes the supplier while it's a Some and end on the first None

public static <
value type
T
>
Iterator<T>

Returns:

A new Iterator
iterate
(T
The first value in the iterator
seed
,
Function<? super T, ? extends T>
A function to calculate the next value based on the previous
f
)

Generates an infinite iterator using a function to calculate the next value based on the previous.

public default Iterator<T>
iterator()

Overrides default io.vavr.collection.Traversable.iterator.

An iterator by means of head() and tail().

public default T
last()

Implements io.vavr.collection.Traversable.last.

Dual of head(), returning the last element.

public default int
length()

Implements io.vavr.collection.Traversable.length.

Computes the number of elements of this Traversable.

public default <
Component type
U
>
Iterator<U>

Returns:

A new Iterator
map
(Function<? super T, ? extends U>
A mapper.
mapper
)

Implements io.vavr.collection.Traversable.map.

Maps the elements of this Iterator lazily using the given mapper.

public static <
Component type of the Iterator.
T
>
Iterator<T>

Returns:

the given iterator instance as narrowed type Iterator<T>.
narrow
(Iterator<? extends T>
An Iterator.
iterator
)

Narrows a widened Iterator<?

public static <
Component type.
T
>
Iterator<T>

Returns:

A new Iterator
of
(T
An element
element
)

Creates an Iterator which traverses one element.

public static <
Component type
T
>
Iterator<T>

Returns:

A new Iterator
of
(T...
Zero or more elements
elements
)

Creates an Iterator which traverses the given elements.

public static <
Component type.
T
>
Iterator<T>

Returns:

A new io.vavr.collection.Iterator
ofAll
(Iterable<? extends T> iterable)

Creates an Iterator based on the given Iterable.

public static <
Component type.
T
>
Iterator<T>

Returns:

A new io.vavr.collection.Iterator
ofAll
(Iterator<? extends T> iterator)

Creates an Iterator based on the given Iterator by delegating calls of hasNext() and next() to it.

public static Iterator<Boolean>

Returns:

A new Iterator of Boolean values
ofAll
(boolean...
boolean values
elements
)

Creates an Iterator from boolean values.

public static Iterator<Byte>

Returns:

A new Iterator of Byte values
ofAll
(byte...
byte values
elements
)

Creates an Iterator from byte values.

public static Iterator<Character>

Returns:

A new Iterator of Character values
ofAll
(char...
char values
elements
)

Creates an Iterator from char values.

public static Iterator<Double>

Returns:

A new Iterator of Double values
ofAll
(double...
double values
elements
)

Creates ann Iterator from double values.

public static Iterator<Float>

Returns:

A new Iterator of Float values
ofAll
(float...
float values
elements
)

Creates an Iterator from float values.

public static Iterator<Integer>

Returns:

A new Iterator of Integer values
ofAll
(int...
int values
elements
)

Creates an Iterator from int values.

public static Iterator<Long>

Returns:

A new Iterator of Long values
ofAll
(long...
long values
elements
)

Creates an Iterator from long values.

public static Iterator<Short>

Returns:

A new Iterator of Short values
ofAll
(short...
short values
elements
)

Creates an Iterator from short values.

public default Iterator<T>
orElse(Iterable<? extends T>
An alternative Traversable
other
)

Implements io.vavr.collection.Traversable.orElse.

Returns this Traversable if it is nonempty, otherwise return the alternative.

public default Iterator<T>
orElse(Supplier<? extends Iterable<? extends T>>
An alternative Traversable supplier
supplier
)

Implements io.vavr.collection.Traversable.orElse.

Returns this Traversable if it is nonempty, otherwise return the result of evaluating supplier.

public default Tuple2<Iterator<T>, Iterator<T>>
partition(Predicate<? super T>
A predicate which classifies an element if it is in the first or the second traversable.
predicate
)

Implements io.vavr.collection.Traversable.partition.

Creates a partition of this Traversable by splitting this elements in two in distinct traversables according to a predicate.

public default Iterator<T>
peek(Consumer<? super T>
The action that will be performed on the element(s).
action
)

Implements io.vavr.collection.Traversable.peek.

Performs the given action on the first element if this is an eager implementation.

public static Iterator<Character>

Returns:

a range of characters as specified or the empty range if from >= toExclusive
range
(char
the first character
from
,
char
the successor of the last character
toExclusive
)

Creates an Iterator of characters starting from from, extending to toExclusive - 1.

public static Iterator<Integer>

Returns:

a range of int values as specified or the empty range if from >= toExclusive
range
(int
the first number
from
,
int
the last number + 1
toExclusive
)

Creates an Iterator of int numbers starting from from, extending to toExclusive - 1.

public static Iterator<Long>

Returns:

a range of long values as specified or the empty range if from >= toExclusive
range
(long
the first number
from
,
long
the last number + 1
toExclusive
)

Creates an Iterator of long numbers starting from from, extending to toExclusive - 1.

public static Iterator<Character>

Returns:

a range of characters as specified or the empty range if signum(step) == signum(from - toExclusive).
rangeBy
(char
the first character
from
,
char
the successor of the last character if step > 0, the predecessor of the last character if step < 0
toExclusive
,
int
the step
step
)

Creates an Iterator of characters starting from from, extending to toExclusive - 1, with step.

public static Iterator<Double>
rangeBy(double from, double toExclusive, double step)

public static Iterator<BigDecimal>
rangeBy(BigDecimal from, BigDecimal toExclusive, BigDecimal step)

public static Iterator<Integer>

Returns:

a range of long values as specified or the empty range if (from == toExclusive) || (step * (from - toExclusive) > 0).
rangeBy
(int
the first number
from
,
int
the last number + 1 if step > 0, the last number - 1 if step < 0
toExclusive
,
int
the step
step
)

Creates an Iterator of int numbers starting from from, extending to toExclusive - 1, with step.

public static Iterator<Long>

Returns:

a range of long values as specified or the empty range if (from == toExclusive) || (step * (from - toExclusive) > 0).
rangeBy
(long
the first number
from
,
long
the last number + 1 if step > 0, the last number - 1 if step < 0
toExclusive
,
long
the step
step
)

Creates an Iterator of long numbers starting from from, extending to toExclusive - 1, with step.

public static Iterator<Character>

Returns:

a range of characters as specified or the empty range if from > toInclusive
rangeClosed
(char
the first character
from
,
char
the last character
toInclusive
)

Creates an Iterator of characters starting from from, extending to toInclusive.

public static Iterator<Integer>

Returns:

a range of int values as specified or the empty range if from > toInclusive
rangeClosed
(int
the first number
from
,
int
the last number
toInclusive
)

Creates an Iterator of int numbers starting from from, extending to toInclusive.

public static Iterator<Long>

Returns:

a range of long values as specified or the empty range if from > toInclusive
rangeClosed
(long
the first number
from
,
long
the last number
toInclusive
)

Creates an Iterator of long numbers starting from from, extending to toInclusive.

public static Iterator<Character>

Returns:

a range of characters as specified or the empty range if signum(step) == signum(from - toInclusive).
rangeClosedBy
(char
the first character
from
,
char
the last character
toInclusive
,
int
the step
step
)

Creates an Iterator of characters starting from from, extending to toInclusive, with step.

public static Iterator<Double>
rangeClosedBy(double from, double toInclusive, double step)

public static Iterator<Integer>

Returns:

a range of int values as specified or the empty range if signum(step) == signum(from - toInclusive).
rangeClosedBy
(int
the first number
from
,
int
the last number
toInclusive
,
int
the step
step
)

Creates an Iterator of int numbers starting from from, extending to toInclusive, with step.

public static Iterator<Long>

Returns:

a range of int values as specified or the empty range if signum(step) == signum(from - toInclusive).
rangeClosedBy
(long
the first number
from
,
long
the last number
toInclusive
,
long
the step
step
)

Creates an Iterator of long numbers starting from from, extending to toInclusive, with step.

public default T
reduceLeft(BiFunction<? super T, ? super T, ? extends T>
A BiFunction of type T
op
)

Overrides default io.vavr.collection.Traversable.reduceLeft.

Accumulates the elements of this Traversable by successively calling the given operation op from the left.

public default T
reduceRight(BiFunction<? super T, ? super T, ? extends T>
An operation of type T
op
)

Overrides default io.vavr.collection.Traversable.reduceRight.

Accumulates the elements of this Traversable by successively calling the given operation op from the right.

public default Iterator<T>
reject(Predicate<? super T>
A predicate
predicate
)

Overrides default io.vavr.collection.Traversable.reject.

Returns a new traversable consisting of all elements which do not satisfy the given predicate.

public default Iterator<T>
replace(T
An element to be substituted.
currentElement
,
T
A replacement for currentElement.
newElement
)

Implements io.vavr.collection.Traversable.replace.

Replaces the first occurrence (if exists) of the given currentElement with newElement.

public default Iterator<T>
replaceAll(T
An element to be substituted.
currentElement
,
T
A replacement for currentElement.
newElement
)

Implements io.vavr.collection.Traversable.replaceAll.

Replaces all occurrences of the given currentElement with newElement.

public default Iterator<T>
retainAll(Iterable<? extends T>
Elements to be kept.
elements
)

Implements io.vavr.collection.Traversable.retainAll.

Keeps all occurrences of the given elements from this.

public default Traversable<T>
scan(T
neutral element for the operator op
zero
,
BiFunction<? super T, ? super T, ? extends T>
the associative operator for the scan
operation
)

Implements io.vavr.collection.Traversable.scan.

Computes a prefix scan of the elements of the collection.

public default <U> Iterator<U>
scanLeft(U
the initial value
zero
,
BiFunction<? super U, ? super T, ? extends U>
the binary operator applied to the intermediate result and the element
operation
)

Implements io.vavr.collection.Traversable.scanLeft.

Produces a collection containing cumulative results of applying the operator going left to right.

public default <U> Iterator<U>
scanRight(U
the initial value
zero
,
BiFunction<? super T, ? super U, ? extends U>
the binary operator applied to the intermediate result and the element
operation
)

Implements io.vavr.collection.Traversable.scanRight.

Produces a collection containing cumulative results of applying the operator going right to left.

public default Iterator<Seq<T>>
slideBy(Function<? super T, ?>
A function which classifies elements into classes
classifier
)

Implements io.vavr.collection.Traversable.slideBy.

Slides a non-overlapping window of a variable size over this Traversable.

public default Iterator<Seq<T>>
sliding(int
a positive window size
size
)

Implements io.vavr.collection.Traversable.sliding.

Slides a window of a specific size and step size 1 over this Traversable by calling sliding(int, int).

public default Iterator<Seq<T>>
sliding(int
a positive window size
size
,
int
a positive step size
step
)

Implements io.vavr.collection.Traversable.sliding.

Slides a window of a specific size and step size over this Traversable.

public default Tuple2<Iterator<T>, Iterator<T>>
span(Predicate<? super T>
A predicate.
predicate
)

Implements io.vavr.collection.Traversable.span.

Returns a tuple where the first element is the longest prefix of elements that satisfy the given predicate and the second element is the remainder.

public default String
stringPrefix()

Implements io.vavr.Value.stringPrefix.

Returns the name of this Value type, which is used by toString().

public static <
Component type of the Iterator
T
>
Iterator<T>

Returns:

An Iterator on a sequence of elements f(0),f(1), ..., f(n - 1)
tabulate
(int
The number of elements
n
,
Function<? super Integer, ? extends T>
The Function computing element values
f
)

Returns an Iterator on a sequence of n values of a given Function f over a range of integer values from 0 to n - 1.

public default Iterator<T>
tail()

Implements io.vavr.collection.Traversable.tail.

Drops the first element of a non-empty Traversable.

public default Option<Iterator<T>>
tailOption()

Implements io.vavr.collection.Traversable.tailOption.

Drops the first element of a non-empty Traversable and returns an Option.

public default Iterator<T>

Returns:

The empty iterator, if n <= 0 or this is empty, otherwise a new iterator without the first n elements.
take
(int
A number
n
)

Implements io.vavr.collection.Traversable.take.

Take the first n elements from this iterator.

public default Iterator<T>
takeRight(int
The number of elements to take.
n
)

Implements io.vavr.collection.Traversable.takeRight.

Takes the last n elements of this or all elements, if this length < n.

public default Iterator<T>
takeUntil(Predicate<? super T>
A condition tested subsequently for this elements.
predicate
)

Implements io.vavr.collection.Traversable.takeUntil.

Takes elements until the predicate holds for the current element.

public default Iterator<T>
takeWhile(Predicate<? super T>
A condition tested subsequently for the contained elements.
predicate
)

Implements io.vavr.collection.Traversable.takeWhile.

Takes elements while the predicate holds for the current element.

public default <
Type of transformation result
U
>
U

Returns:

An instance of type U
transform
(Function<? super Iterator<T>, ? extends U>
A transformation
f
)

Transforms this Iterator.

public static <
type of seeds and unfolded values
T
>
Iterator<T>

Returns:

a list with the values built up by the iteration
unfold
(T
the start value for the iteration
seed
,
Function<? super T, Option<Tuple2<? extends T, ? extends T>>>
the function to get the next step of the iteration
f
)

Creates an iterator from a seed value and a function.

public static <
type of seeds
T
,
type of unfolded values
U
>
Iterator<U>

Returns:

a list with the values built up by the iteration
unfoldLeft
(T
the start value for the iteration
seed
,
Function<? super T, Option<Tuple2<? extends T, ? extends U>>>
the function to get the next step of the iteration
f
)

Creates an iterator from a seed value and a function.

public static <
type of seeds
T
,
type of unfolded values
U
>
Iterator<U>

Returns:

a list with the values built up by the iteration
unfoldRight
(T
the start value for the iteration
seed
,
Function<? super T, Option<Tuple2<? extends U, ? extends T>>>
the function to get the next step of the iteration
f
)

Creates an iterator from a seed value and a function.

public default <T1, T2> Tuple2<Iterator<T1>, Iterator<T2>>
unzip(Function<? super T, Tuple2<? extends T1, ? extends T2>>
a function which converts elements of this to pairs
unzipper
)

Implements io.vavr.collection.Traversable.unzip.

Unzips this elements by mapping this elements to pairs which are subsequently split into two distinct sets.

public default <T1, T2, T3> Tuple3<Iterator<T1>, Iterator<T2>, Iterator<T3>>
unzip3(Function<? super T, Tuple3<? extends T1, ? extends T2, ? extends T3>>
a function which converts elements of this to pairs
unzipper
)

Implements io.vavr.collection.Traversable.unzip3.

Unzips this elements by mapping this elements to triples which are subsequently split into three distinct sets.

public default <U> Iterator<Tuple2<T, U>>
zip(Iterable<? extends U>
The Iterable providing the second half of each result pair.
that
)

Implements io.vavr.collection.Traversable.zip.

Returns a traversable formed from this traversable and another Iterable collection by combining corresponding elements in pairs.

public default <U> Iterator<Tuple2<T, U>>
zipAll(Iterable<? extends U>
The Iterable providing the second half of each result pair.
that
,
T
The element to be used to fill up the result if this traversable is shorter than that.
thisElem
,
U
The element to be used to fill up the result if that is shorter than this traversable.
thatElem
)

Implements io.vavr.collection.Traversable.zipAll.

Returns a traversable formed from this traversable and another Iterable by combining corresponding elements in pairs.

public default <U, R> Iterator<R>
zipWith(Iterable<? extends U>
The Iterable providing the second parameter of the mapper.
that
,
BiFunction<? super T, ? super U, ? extends R>
a mapper.
mapper
)

Implements io.vavr.collection.Traversable.zipWith.

Returns a traversable formed from this traversable and another Iterable collection by mapping elements.

public default Iterator<Tuple2<T, Integer>>
zipWithIndex()

Implements io.vavr.collection.Traversable.zipWithIndex.

Zips this traversable with its indices.

public default <U> Iterator<U>
zipWithIndex(BiFunction<? super T, ? super Integer, ? extends U>
a mapper.
mapper
)

Implements io.vavr.collection.Traversable.zipWithIndex.

Zips this traversable with its indices by applying mapper provided.

Inherited from io.vavr.collection.Traversable:
arrangeByaveragecontainsAllcountequalsexistsUniquefindfoldLeftforEachWithIndexhashCodeheadOptionisDistinctisOrderedisSingleValuedlastOptionmaxmaxBymaxByminminByminBymkCharSeqmkCharSeqmkCharSeqmkStringmkStringmkStringnarrownonEmptyproductreduceLeftOptionreduceRightOptionsinglesingleOptionsizespliteratorsum
Inherited from java.util.Iterator:
forEachRemaininghasNextnextremove