-
- Type Parameters:
T
- the type of elements returned by this PrimitiveIterator. The type must be a wrapper type for a primitive type, such asInteger
for the primitiveint
type.T_CONS
- the type of primitive consumer. The type must be a primitive specialization ofConsumer
forT
, such asIntConsumer
forInteger
.
- All Superinterfaces:
Iterator<T>
- All Known Subinterfaces:
PrimitiveIterator.OfDouble
,PrimitiveIterator.OfInt
,PrimitiveIterator.OfLong
public interface PrimitiveIterator<T,T_CONS> extends Iterator<T>
A base type for primitive specializations ofIterator
. Specialized subtypes are provided forint
,long
, anddouble
values.The specialized subtype default implementations of
Iterator.next()
andIterator.forEachRemaining(java.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()
andPrimitiveIterator.OfInt.forEachRemaining(java.util.function.IntConsumer)
should be used in preference toPrimitiveIterator.OfInt.next()
andPrimitiveIterator.OfInt.forEachRemaining(java.util.function.Consumer)
.Iteration of primitive values using boxing-based methods
next()
andforEachRemaining()
, 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 totrue
then diagnostic warnings are reported if boxing of primitive values occur when operating on primitive subtype specializations. - Since:
- 1.8
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
PrimitiveIterator.OfDouble
An Iterator specialized fordouble
values.static interface
PrimitiveIterator.OfInt
An Iterator specialized forint
values.static interface
PrimitiveIterator.OfLong
An Iterator specialized forlong
values.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method 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.-
Methods inherited from interface java.util.Iterator
forEachRemaining, hasNext, next, remove
-
-
-
-
Method Detail
-
forEachRemaining
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. Errors or runtime exceptions thrown by the action are relayed to the caller.- Parameters:
action
- The action to be performed for each element- Throws:
NullPointerException
- if the specified action is null
-
-