Interface LongSpliterator

All Superinterfaces:
Spliterator<Long>, Spliterator.OfLong, Spliterator.OfPrimitive<Long,LongConsumer,Spliterator.OfLong>
All Known Implementing Classes:
AbstractLongSpliterator, LongBigSpliterators.AbstractIndexBasedSpliterator, LongBigSpliterators.EarlyBindingSizeIndexBasedSpliterator, LongBigSpliterators.LateBindingSizeIndexBasedSpliterator, LongSpliterators.AbstractIndexBasedSpliterator, LongSpliterators.EarlyBindingSizeIndexBasedSpliterator, LongSpliterators.EmptySpliterator, LongSpliterators.LateBindingSizeIndexBasedSpliterator

public interface LongSpliterator extends Spliterator.OfLong
A type-specific Spliterator; provides an additional methods to avoid (un)boxing, and the possibility to skip elements.
Since:
8.5.0
Author:
C. Sean Young <csyoung@google.com>
See Also:
  • Method Details

    • tryAdvance

      @Deprecated default boolean tryAdvance(Consumer<? super Long> action)
      Deprecated.
      Please use the corresponding type-specific method instead.
      Specified by:
      tryAdvance in interface Spliterator<Long>
      Specified by:
      tryAdvance in interface Spliterator.OfLong
    • tryAdvance

      default boolean tryAdvance(LongConsumer action)
      Attempts to perform the action on the next element, or do nothing but return false if there are no remaining elements.

      WARNING: Overriding this method is almost always a mistake, as this overload only exists to disambiguate. Instead, override the tryAdvance() overload that uses the JDK's primitive consumer type (e.g., IntConsumer).
      If Java supported final default methods, this would be one, but sadly it does not.

      If you checked and are overriding the version with java.util.function.XConsumer, and still see this warning, then your IDE is incorrectly conflating this method with the proper method to override, and you can safely ignore this message.

      Parameters:
      action - the action to be performed on the next element.
      Returns:
      whether there was a next element the action was performed on
      See Also:
    • forEachRemaining

      @Deprecated default void forEachRemaining(Consumer<? super Long> action)
      Deprecated.
      Please use the corresponding type-specific method instead.
      Specified by:
      forEachRemaining in interface Spliterator<Long>
      Specified by:
      forEachRemaining in interface Spliterator.OfLong
    • forEachRemaining

      default void forEachRemaining(LongConsumer action)
      Performs the given action for each remaining element until all elements have been processed or the action throws an exception.

      WARNING: Overriding this method is almost always a mistake, as this overload only exists to disambiguate. Instead, override the forEachRemaining() overload that uses the JDK's primitive consumer type (e.g. IntConsumer).

      If Java supported final default methods, this would be one, but sadly it does not.

      If you checked and are overriding the version with java.util.function.XConsumer, and still see this warning, then your IDE is incorrectly conflating this method with the proper method to override, and you can safely ignore this message.

      Parameters:
      action - the action to be performed for each element.
      See Also:
    • skip

      default long skip(long n)
      Skips the given number of elements.

      The effect of this call is exactly the same as that of calling tryAdvance(java.util.function.Consumer<? super java.lang.Long>) for n times (possibly stopping if tryAdvance(java.util.function.Consumer<? super java.lang.Long>) returns false). The action called will do nothing; elements will be discarded.

      Parameters:
      n - the number of elements to skip.
      Returns:
      the number of elements actually skipped.
      See Also:
      Implementation Specification:
      This default implementation is linear in n. It is expected concrete implementations that are capable of it will override it to run lower time, but be prepared for linear time.
    • trySplit

      LongSpliterator trySplit()
      Specified by:
      trySplit in interface Spliterator<Long>
      Specified by:
      trySplit in interface Spliterator.OfLong
      Specified by:
      trySplit in interface Spliterator.OfPrimitive<Long,LongConsumer,Spliterator.OfLong>
      API Notes:
      Note that this specification strengthens the one given in Spliterator.trySplit().
    • getComparator

      default LongComparator getComparator()
      Specified by:
      getComparator in interface Spliterator<Long>
      API Notes:
      Note that this specification strengthens the one given in Spliterator.getComparator().