- Type Parameters:
T- the type of elements returned by this PrimitiveIterator. The type must be a wrapper type for a primitive type, such asIntegerfor the primitiveinttype.T_CONS- the type of primitive consumer. The type must be a primitive specialization ofConsumerforT, such asIntConsumerforInteger.
- All Superinterfaces:
Iterator<T>
- All Known Subinterfaces:
PrimitiveIterator.OfDouble,PrimitiveIterator.OfInt,PrimitiveIterator.OfLong
public interface PrimitiveIterator<T,T_CONS> extends Iterator<T>
Iterator. Specialized
subtypes are provided for int, long, and
double values.
The specialized subtype default implementations of Iterator.next()
and Iterator.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() and
PrimitiveIterator.OfInt.forEachRemaining(java.util.function.IntConsumer)
should be used in preference to PrimitiveIterator.OfInt.next() and
PrimitiveIterator.OfInt.forEachRemaining(java.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.tripwireis set totruethen 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 interfacePrimitiveIterator.OfDoubleAn Iterator specialized fordoublevalues.static interfacePrimitiveIterator.OfIntAn Iterator specialized forintvalues.static interfacePrimitiveIterator.OfLongAn Iterator specialized forlongvalues. -
Method Summary
Modifier and Type Method Description voidforEachRemaining(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.
-
Method Details
-
forEachRemaining
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
-