Package it.unimi.dsi.fastutil.booleans
Interface BooleanIterable
- All Superinterfaces:
java.lang.Iterable<java.lang.Boolean>
public interface BooleanIterable
extends java.lang.Iterable<java.lang.Boolean>
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(BooleanConsumer action)
Performs the given action for each element of this type-specificIterable
until all elements have been processed or the action throws an exception.default void
forEach(java.util.function.Consumer<? super java.lang.Boolean> action)
Deprecated.Please use the corresponding type-specific method instead.BooleanIterator
iterator()
Returns a type-specific iterator.default BooleanSpliterator
spliterator()
Returns a type-specific spliterator on the elements of this iterable.
-
Method Details
-
iterator
BooleanIterator iterator()Returns a type-specific iterator.- Specified by:
iterator
in interfacejava.lang.Iterable<java.lang.Boolean>
- Returns:
- a type-specific iterator.
- See Also:
Iterable.iterator()
- API Notes:
- Note that this specification strengthens the one given in
Iterable.iterator()
.
-
spliterator
Returns a type-specific spliterator on the elements of this iterable.- Specified by:
spliterator
in interfacejava.lang.Iterable<java.lang.Boolean>
- Returns:
- a type-specific spliterator on the elements of this iterable.
- Since:
- 8.5.0
- API Notes:
- Note that this specification strengthens the one given in
Iterable.spliterator()
.
-
forEach
Performs the given action for each element of this type-specificIterable
until 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)
- API Notes:
- Implementing classes should generally override this method, and take the default implementation of the other overloads which will delegate to this method (after proper conversions).
-
forEach
@Deprecated default void forEach(java.util.function.Consumer<? super java.lang.Boolean> action)Deprecated.Please use the corresponding type-specific method instead.- Specified by:
forEach
in interfacejava.lang.Iterable<java.lang.Boolean>
-