Module java.base
Package java.util
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 asInteger
for the primitiveint
type.T_CONS
- the type of primitive consumer. The type must be a primitive specialization ofConsumer
forT
, such asIntConsumer
forInteger
.T_SPLITR
- the type of primitive Spliterator. The type must be a primitive specialization of Spliterator forT
, such asSpliterator.OfInt
forInteger
.
- 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:
Spliterator.OfInt
,Spliterator.OfLong
,Spliterator.OfDouble
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface java.util.Spliterator
Spliterator.OfDouble, Spliterator.OfInt, Spliterator.OfLong, Spliterator.OfPrimitive<T,T_CONS,T_SPLITR extends Spliterator.OfPrimitive<T,T_CONS,T_SPLITR>>
-
-
Field Summary
-
Fields inherited from interface java.util.Spliterator
CONCURRENT, DISTINCT, IMMUTABLE, NONNULL, ORDERED, SIZED, SORTED, SUBSIZED
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description 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.boolean
tryAdvance(T_CONS action)
If a remaining element exists, performs the given action on it, returningtrue
; else returnsfalse
.T_SPLITR
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.-
Methods inherited from interface java.util.Spliterator
characteristics, estimateSize, forEachRemaining, getComparator, getExactSizeIfKnown, hasCharacteristics, tryAdvance
-
-
-
-
Method Detail
-
trySplit
T_SPLITR trySplit()
Description copied from interface:Spliterator
If this spliterator can be partitioned, returns a Spliterator covering elements, that will, upon return from this method, not be covered by this Spliterator.If this Spliterator is
Spliterator.ORDERED
, the returned Spliterator must cover a strict prefix of the elements.Unless this Spliterator covers an infinite number of elements, repeated calls to
trySplit()
must eventually returnnull
. Upon non-null return:- the value reported for
estimateSize()
before splitting, must, after splitting, be greater than or equal toestimateSize()
for this and the returned Spliterator; and - if this Spliterator is
SUBSIZED
, thenestimateSize()
for this spliterator before splitting must be equal to the sum ofestimateSize()
for this and the returned Spliterator after splitting.
This method may return
null
for any reason, including emptiness, inability to split after traversal has commenced, data structure constraints, and efficiency considerations.- Specified by:
trySplit
in interfaceSpliterator<T>
- Returns:
- a
Spliterator
covering some portion of the elements, ornull
if this spliterator cannot be split
- the value reported for
-
tryAdvance
boolean tryAdvance(T_CONS action)
If a remaining element exists, performs the given action on it, returningtrue
; else returnsfalse
. If this Spliterator isSpliterator.ORDERED
the action is performed on the next element in encounter order. Exceptions thrown by the action are relayed to the caller.- Parameters:
action
- The action- Returns:
false
if 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 isSpliterator.ORDERED
, actions are performed in encounter order. Exceptions thrown by the action are relayed to the caller.- 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
-
-