Module java.base
Package java.util

Interface Spliterator.OfPrimitive<T,T_CONS,T_SPLITR extends Spliterator.OfPrimitive<T,T_CONS,T_SPLITR>>

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