Class AbstractLongIterator

java.lang.Object
it.unimi.dsi.fastutil.longs.AbstractLongIterator
All Implemented Interfaces:
LongIterator, Iterator<Long>, PrimitiveIterator<Long,LongConsumer>, PrimitiveIterator.OfLong
Direct Known Subclasses:
AbstractLongBidirectionalIterator, LongBigListIterators.AbstractIndexBasedBigIterator, LongIterators.AbstractIndexBasedIterator

public abstract class AbstractLongIterator extends Object implements LongIterator
An abstract class facilitating the creation of type-specific iterators.
API Notes:
Up to version 8.5.0, this class was deprecated as abstract methods were turned into default methods of the type-specific interface. Now the class hosts finalized versions of default delegating methods such as forEachRemaining(it.unimi.dsi.fastutil.longs.LongConsumer).
  • Method Details

    • forEachRemaining

      public final 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.

      Specified by:
      forEachRemaining in interface LongIterator
      Parameters:
      action - the action to be performed for each element.
      See Also:
      Implementation Specification:
      This method just delegates to the interface default method, as the default method, but it is final, so it cannot be overridden.