Interface ByteIterable

All Superinterfaces:
All Known Subinterfaces:
ByteBidirectionalIterable, ByteBigList, ByteCollection, ByteList, ByteSet, ByteSortedSet
All Known Implementing Classes:
AbstractByteBigList, AbstractByteBigList.ByteSubList, AbstractByteCollection, AbstractByteList, AbstractByteList.ByteSubList, AbstractByteSet, AbstractByteSortedSet, ByteArrayList, ByteArraySet, ByteAVLTreeSet, ByteBigArrayBigList, ByteBigLists.EmptyBigList, ByteBigLists.ListBigList, ByteBigLists.Singleton, ByteBigLists.SynchronizedBigList, ByteBigLists.UnmodifiableBigList, ByteCollections.EmptyCollection, ByteCollections.IterableCollection, ByteCollections.SynchronizedCollection, ByteCollections.UnmodifiableCollection, ByteLinkedOpenCustomHashSet, ByteLinkedOpenHashSet, ByteLists.EmptyList, ByteLists.Singleton, ByteLists.SynchronizedList, ByteLists.SynchronizedRandomAccessList, ByteLists.UnmodifiableList, ByteLists.UnmodifiableRandomAccessList, ByteOpenCustomHashSet, ByteOpenHashSet, ByteRBTreeSet, ByteSets.EmptySet, ByteSets.Singleton, ByteSets.SynchronizedSet, ByteSets.UnmodifiableSet, ByteSortedSets.EmptySet, ByteSortedSets.Singleton, ByteSortedSets.SynchronizedSortedSet, ByteSortedSets.UnmodifiableSortedSet

public interface ByteIterable
extends Iterable<Byte>
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:
  • Method Summary

    Modifier and Type Method Description
    default void forEach​(Consumer<? super Byte> action)
    Please use the corresponding type-specific method instead.
    default void forEach​(IntConsumer 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.
    ByteIterator iterator()
    Returns a type-specific iterator.

    Methods inherited from interface java.lang.Iterable