public interface LongIterable extends Iterable<Long>
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(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.
|
spliteratorLongIterator iterator()
Note that this specification strengthens the one given in Iterable.iterator().
iterator in interface Iterable<Long>Iterable.iterator()default void forEach(LongConsumer 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)