T
- the type of elements returned by this PrimitiveIterator. The
type must be a wrapper type for a primitive type, such as
Integer
for the primitive int
type.T_CONS
- the type of primitive consumer. The type must be a
primitive specialization of Consumer
for
T
, such as IntConsumer
for
Integer
.public interface PrimitiveIterator<T,T_CONS>
extends java.util.Iterator<T>
Iterator
. Specialized
subtypes are provided for int
, long
, and
double
values.
The specialized subtype default implementations of Iterator.next()
and Iterators.forEachRemaining(Iterator, java8.util.function.Consumer)
box
primitive values to instances of their corresponding wrapper class. Such
boxing may offset any advantages gained when using the primitive
specializations. To avoid boxing, the corresponding primitive-based methods
should be used. For example, PrimitiveIterator.OfInt.nextInt()
and
Iterators.forEachRemaining(PrimitiveIterator.OfInt, IntConsumer)
should be used in preference to Iterator.next()
and
Iterators.forEachRemaining(Iterator, java8.util.function.Consumer)
.
Iteration of primitive values using boxing-based methods
next()
and
forEachRemaining()
,
does not affect the order in which the values, transformed to boxed values,
are encountered.
Implementation Note:
If the boolean system property org.openjdk.java.util.stream.tripwire
is set to true
then diagnostic warnings are reported if boxing of
primitive values occur when operating on primitive subtype specializations.
Modifier and Type | Interface and Description |
---|---|
static interface |
PrimitiveIterator.OfDouble
An Iterator specialized for
double values. |
static interface |
PrimitiveIterator.OfInt
An Iterator specialized for
int values. |
static interface |
PrimitiveIterator.OfLong
An Iterator specialized for
long values. |
Modifier and Type | Method and Description |
---|---|
void |
forEachRemaining(T_CONS action)
Performs the given action for each remaining element, in the order
elements occur when iterating, until all elements have been processed
or the action throws an exception.
|
void forEachRemaining(T_CONS action)
action
- The action to be performed for each elementjava.lang.NullPointerException
- if the specified action is null