Spliterator.OfLong

public static interface Spliterator.OfLong
implements OfPrimitive<LongLongConsumerSpliterator.OfLong>

java.util.Spliterator.OfLong
Spliterators.AbstractLongSpliterator An abstract Spliterator.OfLong that implements trySplit to permit limited parallelism. 


A Spliterator specialized for long values.

Summary

Inherited constants

int CONCURRENT

Characteristic value signifying that the element source may be safely concurrently modified (allowing additions, replacements, and/or removals) by multiple threads without external synchronization.

int DISTINCT

Characteristic value signifying that, for each pair of encountered elements x, y, !x.equals(y).

int IMMUTABLE

Characteristic value signifying that the element source cannot be structurally modified; that is, elements cannot be added, replaced, or removed, so such changes cannot occur during traversal.

int NONNULL

Characteristic value signifying that the source guarantees that encountered elements will not be null.

int ORDERED

Characteristic value signifying that an encounter order is defined for elements.

int SIZED

Characteristic value signifying that the value returned from estimateSize() prior to traversal or splitting represents a finite size that, in the absence of structural source modification, represents an exact count of the number of elements that would be encountered by a complete traversal.

int SORTED

Characteristic value signifying that encounter order follows a defined sort order.

int SUBSIZED

Characteristic value signifying that all Spliterators resulting from trySplit() will be both SIZED and SUBSIZED.

Public methods

default void forEachRemaining(LongConsumer action)
default void forEachRemaining(Consumer<? super Long> action)

abstract boolean tryAdvance(LongConsumer action)
default boolean tryAdvance(Consumer<? super Long> action)

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

default void forEachRemaining(LongConsumer 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(LongConsumer 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.

abstract int characteristics()

Returns a set of characteristics of this Spliterator and its elements.

abstract long estimateSize()

Returns an estimate of the number of elements that would be encountered by a forEachRemaining(Consumer) traversal, or returns Long.MAX_VALUE if infinite, unknown, or too expensive to compute.

default void forEachRemaining(Consumer<? super T> 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.

default Comparator<? super T> getComparator()

If this Spliterator's source is SORTED by a Comparator, returns that Comparator.

default long getExactSizeIfKnown()

Convenience method that returns estimateSize() if this Spliterator is SIZED, else -1.

default boolean hasCharacteristics(int characteristics)

Returns true if this Spliterator's characteristics() contain all of the given characteristics.

abstract boolean tryAdvance(Consumer<? super T> action)

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

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

Public methods

forEachRemaining

Added in API level 24
public void forEachRemaining (LongConsumer action)

Parameters
action LongConsumer

forEachRemaining

Added in API level 24
public void forEachRemaining (Consumer<? super Long> action)

Implementation Requirements:
Parameters
action Consumer

tryAdvance

Added in API level 24
public abstract boolean tryAdvance (LongConsumer action)

Parameters
action LongConsumer

Returns
boolean

tryAdvance

Added in API level 24
public boolean tryAdvance (Consumer<? super Long> action)

Implementation Requirements:
Parameters
action Consumer

Returns
boolean

trySplit

Added in API level 24
public abstract Spliterator.OfLong 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
Spliterator.OfLong a Spliterator covering some portion of the elements, or null if this spliterator cannot be split