public interface ByteIterable
extends java.lang.Iterable<java.lang.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.
Iterable
Modifier and Type | Method and Description |
---|---|
default void |
forEach(ByteConsumer 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. |
default void |
forEach(java.util.function.Consumer<? super java.lang.Byte> action)
Deprecated.
Please use the corresponding type-specific method instead.
|
default void |
forEach(java.util.function.IntConsumer action)
Performs the given action for each element of this type-specific
Iterable ,
performing widening primitive casts, until all elements have been processed or the action
throws an exception. |
default IntIterator |
intIterator()
Returns a widened primitive iterator on the elements of this iterable.
|
default IntSpliterator |
intSpliterator()
Returns widened primitive spliterator on the elements of this iterable.
|
ByteIterator |
iterator()
Returns a type-specific iterator.
|
default ByteSpliterator |
spliterator()
Returns a type-specific spliterator on the elements of this iterable.
|
ByteIterator iterator()
iterator
in interface java.lang.Iterable<java.lang.Byte>
Iterable.iterator()
Iterable.iterator()
.default IntIterator intIterator()
This method is provided for the purpose of APIs that expect only the JDK's
primitive iterators, of which there are only int
, long
, and double
.
default ByteSpliterator spliterator()
spliterator
in interface java.lang.Iterable<java.lang.Byte>
Iterable.spliterator()
.default IntSpliterator intSpliterator()
This method is provided for the purpose of APIs that expect only the JDK's
primitive spliterators, of which there are only int
, long
, and double
.
spliterator()
.default void forEach(ByteConsumer action)
Iterable
until all elements have been processed or the action throws an
exception.action
- the action to be performed for each element.Iterable.forEach(java.util.function.Consumer)
default void forEach(java.util.function.IntConsumer action)
Iterable
,
performing widening primitive casts, until all elements have been processed or the action
throws an exception.action
- the action to be performed for each element.Iterable.forEach(java.util.function.Consumer)
@Deprecated default void forEach(java.util.function.Consumer<? super java.lang.Byte> action)
forEach
in interface java.lang.Iterable<java.lang.Byte>