Interface Spliterator.OfPrimitive<T, T_CONS, T_SPLITR extends Spliterator.OfPrimitive<T,T_CONS,T_SPLITR>>
- Type Parameters:
T- the type of elements returned by this Spliterator. 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.T_SPLITR- the type of primitive Spliterator. The type must be a primitive specialization of Spliterator forT, such asSpliterator.OfIntforInteger.
- All Superinterfaces:
Spliterator<T>
- All Known Subinterfaces:
Spliterator.OfDouble, Spliterator.OfInt, Spliterator.OfLong
- All Known Implementing Classes:
Spliterators.AbstractDoubleSpliterator, Spliterators.AbstractIntSpliterator, Spliterators.AbstractLongSpliterator
- Enclosing interface:
Spliterator<T>
public static interface Spliterator.OfPrimitive<T, T_CONS, T_SPLITR extends Spliterator.OfPrimitive<T,T_CONS,T_SPLITR>> extends Spliterator<T>
A Spliterator specialized for primitive values.
- Since:
- 1.8
- See Also:
Nested Class Summary
Nested classes/interfaces declared in interface Spliterator
Spliterator.OfDouble, Spliterator.OfInt, Spliterator.OfLong, Spliterator.OfPrimitive<T,T_CONS,T_SPLITR> | Modifier and Type | Interface | Description |
|---|---|---|
static interface |
Spliterator.OfDouble |
A Spliterator specialized for double values. |
static interface |
Spliterator.OfInt |
A Spliterator specialized for int values. |
static interface |
Spliterator.OfLong |
A Spliterator specialized for long values. |
static interface |
Spliterator.OfPrimitive<T, T_CONS, T_SPLITR extends Spliterator.OfPrimitive<T, |
A Spliterator specialized for primitive values. |
Field Summary
Fields declared in interface Spliterator
CONCURRENT, DISTINCT, IMMUTABLE, NONNULL, ORDERED, SIZED, SORTED, SUBSIZED | Modifier and Type | Field | Description |
|---|---|---|
static final int |
CONCURRENT |
Characteristic value signifying that the element source may be safely concurrently modified (allowing additions, replacements, and/or removals) by multiple threads without external synchronization. |
static final int |
DISTINCT |
Characteristic value signifying that, for each pair of encountered elements x, y, !x.equals(y). |
static final int |
IMMUTABLE |
Characteristic value signifying that the element source cannot be structurally modified; that is, elements cannot be added, replaced, or removed, so such changes cannot occur during traversal. |
static final int |
NONNULL |
Characteristic value signifying that the source guarantees that encountered elements will not be null. |
static final int |
ORDERED |
Characteristic value signifying that an encounter order is defined for elements. |
static final int |
SIZED |
Characteristic value signifying that the value returned from estimateSize() prior to traversal or splitting represents a finite size that, in the absence of structural source modification, represents an exact count of the number of elements that would be encountered by a complete traversal. |
static final int |
SORTED |
Characteristic value signifying that encounter order follows a defined sort order. |
static final int |
SUBSIZED |
Characteristic value signifying that all Spliterators resulting from trySplit() will be both Spliterator.SIZED and Spliterator.SUBSIZED. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
default void |
forEachRemaining |
Performs the given action for each remaining element, sequentially in the current thread, until all elements have been processed or the action throws an exception. |
boolean |
tryAdvance |
If a remaining element exists, performs the given action on it, returning true; else returns false. |
Methods declared in interface Spliterator
characteristics, estimateSize, forEachRemaining, getComparator, getExactSizeIfKnown, hasCharacteristics, tryAdvance, trySplit | Modifier and Type | Method | Description |
|---|---|---|
int |
characteristics() |
Returns a set of characteristics of this Spliterator and its elements. |
long |
estimateSize() |
Returns an estimate of the number of elements that would be encountered by a Spliterator.forEachRemaining(Consumer) traversal, or returns Long.MAX_VALUE if infinite, unknown, or too expensive to compute. |
default void |
forEachRemaining |
Performs the given action for each remaining element, sequentially in the current thread, until all elements have been processed or the action throws an exception. |
default Comparator |
getComparator() |
|
default long |
getExactSizeIfKnown() |
Convenience method that returns Spliterator.estimateSize() if this Spliterator is Spliterator.SIZED, else -1. |
default boolean |
hasCharacteristics |
Returns true if this Spliterator's Spliterator.characteristics() contain all of the given characteristics. |
boolean |
tryAdvance |
If a remaining element exists: performs the given action on it, returning true; else returns false. |
Spliterator |
trySplit() |
If this spliterator can be partitioned, returns a Spliterator covering elements, that will, upon return from this method, not be covered by this Spliterator. |
Method Details
tryAdvance
boolean tryAdvance(T_CONS action)
If a remaining element exists, performs the given action on it, returning
true; else returns false. If this Spliterator is Spliterator.ORDERED the action is performed on the next element in encounter order. Exceptions thrown by the action are relayed to the caller. Subsequent behavior of a spliterator is unspecified if the action throws an exception.
- Parameters:
-
action- The action - Returns:
-
falseif no remaining elements existed upon entry to this method, elsetrue. - Throws:
-
NullPointerException- if the specified action is null
forEachRemaining
default void forEachRemaining(T_CONS action)
Performs the given action for each remaining element, sequentially in the current thread, until all elements have been processed or the action throws an exception. If this Spliterator is
Spliterator.ORDERED, actions are performed in encounter order. Exceptions thrown by the action are relayed to the caller. Subsequent behavior of a spliterator is unspecified if the action throws an exception.
- Implementation Requirements:
- The default implementation repeatedly invokes
tryAdvance(T_CONS)until it returnsfalse. It should be overridden whenever possible. - Parameters:
-
action- The action - Throws:
-
NullPointerException- if the specified action is null
© 1993, 2025, 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.