Spliterator.OfPrimitive (Java SE 9 & JDK 9 ) (original) (raw)
- 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 of Consumer forT
, such as IntConsumer 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](../../java/util/Spliterator.html "interface in java.util")<T>
All Known Subinterfaces:[Spliterator.OfDouble](../../java/util/Spliterator.OfDouble.html "interface in java.util")
,[Spliterator.OfInt](../../java/util/Spliterator.OfInt.html "interface in java.util")
,[Spliterator.OfLong](../../java/util/Spliterator.OfLong.html "interface in java.util")
All Known Implementing Classes:[Spliterators.AbstractDoubleSpliterator](../../java/util/Spliterators.AbstractDoubleSpliterator.html "class in java.util")
,[Spliterators.AbstractIntSpliterator](../../java/util/Spliterators.AbstractIntSpliterator.html "class in java.util")
,[Spliterators.AbstractLongSpliterator](../../java/util/Spliterators.AbstractLongSpliterator.html "class in java.util")
Enclosing interface:
Spliterator<T>
public static interface Spliterator.OfPrimitive<T,T_CONS,T_SPLITR extends Spliterator.OfPrimitive<T,T_CONS,T_SPLITR>>
extends Spliterator
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](../../java/util/Spliterator.html "interface in java.util") `[Spliterator.OfDouble](../../java/util/Spliterator.OfDouble.html "interface in java.util"), [Spliterator.OfInt](../../java/util/Spliterator.OfInt.html "interface in java.util"), [Spliterator.OfLong](../../java/util/Spliterator.OfLong.html "interface in java.util"), [Spliterator.OfPrimitive](../../java/util/Spliterator.OfPrimitive.html "interface in java.util")<[T](../../java/util/Spliterator.OfPrimitive.html "type parameter in Spliterator.OfPrimitive"),[T_CONS](../../java/util/Spliterator.OfPrimitive.html "type parameter in Spliterator.OfPrimitive"),[T_SPLITR](../../java/util/Spliterator.OfPrimitive.html "type parameter in Spliterator.OfPrimitive") extends [Spliterator.OfPrimitive](../../java/util/Spliterator.OfPrimitive.html "interface in java.util")<[T](../../java/util/Spliterator.OfPrimitive.html "type parameter in Spliterator.OfPrimitive"),[T_CONS](../../java/util/Spliterator.OfPrimitive.html "type parameter in Spliterator.OfPrimitive"),[T_SPLITR](../../java/util/Spliterator.OfPrimitive.html "type parameter in Spliterator.OfPrimitive")>>`
Field Summary
* ### Fields inherited from interface java.util.[Spliterator](../../java/util/Spliterator.html "interface in java.util") `[CONCURRENT](../../java/util/Spliterator.html#CONCURRENT), [DISTINCT](../../java/util/Spliterator.html#DISTINCT), [IMMUTABLE](../../java/util/Spliterator.html#IMMUTABLE), [NONNULL](../../java/util/Spliterator.html#NONNULL), [ORDERED](../../java/util/Spliterator.html#ORDERED), [SIZED](../../java/util/Spliterator.html#SIZED), [SORTED](../../java/util/Spliterator.html#SORTED), [SUBSIZED](../../java/util/Spliterator.html#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, returning true; else returns false. 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](../../java/util/Spliterator.html "interface in java.util") `[characteristics](../../java/util/Spliterator.html#characteristics--), [estimateSize](../../java/util/Spliterator.html#estimateSize--), [forEachRemaining](../../java/util/Spliterator.html#forEachRemaining-java.util.function.Consumer-), [getComparator](../../java/util/Spliterator.html#getComparator--), [getExactSizeIfKnown](../../java/util/Spliterator.html#getExactSizeIfKnown--), [hasCharacteristics](../../java/util/Spliterator.html#hasCharacteristics-int-), [tryAdvance](../../java/util/Spliterator.html#tryAdvance-java.util.function.Consumer-)`
Method Detail
* #### trySplit [T_SPLITR](../../java/util/Spliterator.OfPrimitive.html "type parameter in Spliterator.OfPrimitive") trySplit() Description copied from interface: `[Spliterator](../../java/util/Spliterator.html#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. If this Spliterator is [Spliterator.ORDERED](../../java/util/Spliterator.html#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 return `null`. Upon non-null return: * the value reported for `estimateSize()` before splitting, must, after splitting, be greater than or equal to `estimateSize()` for this and the returned Spliterator; and * if this Spliterator is `SUBSIZED`, then `estimateSize()` for this spliterator before splitting must be equal to the sum of`estimateSize()` 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](../../java/util/Spliterator.html#trySplit--)` in interface `[Spliterator](../../java/util/Spliterator.html "interface in java.util")<[T](../../java/util/Spliterator.OfPrimitive.html "type parameter in Spliterator.OfPrimitive")>` Returns: a `Spliterator` covering some portion of the elements, or `null` if this spliterator cannot be split * #### tryAdvance boolean tryAdvance([T_CONS](../../java/util/Spliterator.OfPrimitive.html "type parameter in Spliterator.OfPrimitive") action) If a remaining element exists, performs the given action on it, returning `true`; else returns `false`. If this Spliterator is [Spliterator.ORDERED](../../java/util/Spliterator.html#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, else `true`. Throws: `[NullPointerException](../../java/lang/NullPointerException.html "class in java.lang")` \- if the specified action is null * #### forEachRemaining default void forEachRemaining([T_CONS](../../java/util/Spliterator.OfPrimitive.html "type parameter in Spliterator.OfPrimitive") 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](../../java/util/Spliterator.html#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)](../../java/util/Spliterator.OfPrimitive.html#tryAdvance-T%5FCONS-) until it returns `false`. It should be overridden whenever possible. Parameters: `action` \- The action Throws: `[NullPointerException](../../java/lang/NullPointerException.html "class in java.lang")` \- if the specified action is null
Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2017, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.