Interface ByteIterable
- 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>
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 voidforEach(Consumer<? super Byte> action)Deprecated.Please use the corresponding type-specific method instead.default voidforEach(IntConsumer action)Performs the given action for each element of this type-specificIterableuntil all elements have been processed or the action throws an exception.ByteIteratoriterator()Returns a type-specific iterator.
-
Method Details
-
iterator
ByteIterator iterator()Returns a type-specific iterator.Note that this specification strengthens the one given in
Iterable.iterator().- Specified by:
iteratorin interfaceIterable<Byte>- Returns:
- a type-specific iterator.
- See Also:
Iterable.iterator()
-
forEach
Performs the given action for each element of this type-specificIterableuntil all elements have been processed or the action throws an exception.- Parameters:
action- the action to be performed for each element.- Since:
- 8.0.0
- See Also:
Iterable.forEach(java.util.function.Consumer)
-
forEach
Deprecated.Please use the corresponding type-specific method instead.
-