Spliterator.OfPrimitive

public static interface Spliterator.OfPrimitive
implements Spliterator<T>

java.util.Spliterator.OfPrimitive<T, T_CONS, T_SPLITR extends java.util.Spliterator.OfPrimitive<T, T_CONS, T_SPLITR>>


A Spliterator specialized for primitive values.

Summary

Inherited constants

Public methods

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.

abstract boolean tryAdvance(T_CONS action)

If a remaining element exists, performs the given action on it, returning true; else returns false.

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

Inherited methods

Public methods

forEachRemaining

Added in API level 24
public 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 returns false. It should be overridden whenever possible.
Parameters
action T_CONS: The action

Throws
NullPointerException if the specified action is null

tryAdvance

Added in API level 24
public abstract 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 T_CONS: The action

Returns
boolean false if no remaining elements existed upon entry to this method, else true.

Throws
NullPointerException if the specified action is null

trySplit

Added in API level 24
public abstract 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.

If this Spliterator is 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.

Returns
T_SPLITR a Spliterator covering some portion of the elements, or null if this spliterator cannot be split