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
.Iterator<T>
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.
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 | 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 | Description |
---|---|---|
void |
forEachRemaining |
Performs the given action for each remaining element until all elements have been processed or the action throws an exception. |
forEachRemaining, hasNext, next, remove
void forEachRemaining(T_CONS action)
The behavior of an iterator is unspecified if the action modifies the source of elements in any way (even by calling the remove
method or other mutator methods of Iterator
subtypes), unless an overriding class has specified a concurrent modification policy.
Subsequent behavior of an iterator is unspecified if the action throws an exception.
action
- The action to be performed for each elementNullPointerException
- if the specified action is null
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/PrimitiveIterator.html