W3cubDocs

/OpenJDK 8

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 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.
T_SPLITR - the type of primitive Spliterator. The type must be a primitive specialization of Spliterator for T, such as Spliterator.OfInt for Integer.
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 Classes

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>>

Fields

Fields inherited from interface java.util.Spliterator

CONCURRENT, DISTINCT, IMMUTABLE, NONNULL, ORDERED, SIZED, SORTED, SUBSIZED

Methods

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 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 in interface Spliterator<T>
Returns:
a Spliterator covering some portion of the elements, or null if this spliterator cannot be split

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.

Parameters:
action - The action
Returns:
false if no remaining elements existed upon entry to this method, else true.
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.

Implementation Requirements:
The default implementation repeatedly invokes tryAdvance(T_CONS) until it returns false. It should be overridden whenever possible.
Parameters:
action - The action
Throws:
NullPointerException - if the specified action is null

© 1993–2017, 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.