Interface LongIterable

All Superinterfaces:
Iterable<Long>
All Known Subinterfaces:
LongBidirectionalIterable, LongBigList, LongCollection, LongList, LongSet, LongSortedSet
All Known Implementing Classes:
AbstractLongBigList, AbstractLongBigList.LongSubList, AbstractLongCollection, AbstractLongList, AbstractLongList.LongSubList, AbstractLongSet, AbstractLongSortedSet, LongArrayList, LongArraySet, LongAVLTreeSet, LongBigArrayBigList, LongBigLists.EmptyBigList, LongBigLists.ListBigList, LongBigLists.Singleton, LongBigLists.SynchronizedBigList, LongBigLists.UnmodifiableBigList, LongCollections.EmptyCollection, LongCollections.IterableCollection, LongCollections.SynchronizedCollection, LongCollections.UnmodifiableCollection, LongLinkedOpenCustomHashSet, LongLinkedOpenHashSet, LongLists.EmptyList, LongLists.Singleton, LongLists.SynchronizedList, LongLists.SynchronizedRandomAccessList, LongLists.UnmodifiableList, LongLists.UnmodifiableRandomAccessList, LongOpenCustomHashSet, LongOpenHashBigSet, LongOpenHashSet, LongRBTreeSet, LongSets.EmptySet, LongSets.Singleton, LongSets.SynchronizedSet, LongSets.UnmodifiableSet, LongSortedSets.EmptySet, LongSortedSets.Singleton, LongSortedSets.SynchronizedSortedSet, LongSortedSets.UnmodifiableSortedSet

public interface LongIterable
extends Iterable<Long>
A type-specific Iterable that strengthens that specification of iterator() and forEach(Consumer).

Note that whenever there exist a primitive consumer in java.util.function (e.g., IntConsumer), trying to access any version of forEach(Consumer) using a lambda expression with untyped arguments will generate an ambiguous method error. This can be easily solved by specifying the type of the argument, as in

    intIterable.forEach((int x) -> { // Do something with x });
 

The same problem plagues, for example, PrimitiveIterator.OfInt.forEachRemaining(java.util.function.IntConsumer).

Warning: Java will let you write “colon” for statements with primitive-type loop variables; however, what is (unfortunately) really happening is that at each iteration an unboxing (and, in the case of fastutil type-specific data structures, a boxing) will be performed. Watch out.

See Also:
Iterable
  • Method Summary

    Modifier and Type Method Description
    default void forEach​(Consumer<? super Long> action)
    Deprecated.
    Please use the corresponding type-specific method instead.
    default void forEach​(LongConsumer action)
    Performs the given action for each element of this type-specific Iterable until all elements have been processed or the action throws an exception.
    LongIterator iterator()
    Returns a type-specific iterator.

    Methods inherited from interface java.lang.Iterable

    spliterator