Package it.unimi.dsi.fastutil.booleans
Interface BooleanIterable
- All Known Subinterfaces:
BooleanBidirectionalIterable
,BooleanBigList
,BooleanCollection
,BooleanList
,BooleanSet
- All Known Implementing Classes:
AbstractBooleanBigList
,AbstractBooleanBigList.BooleanRandomAccessSubList
,AbstractBooleanBigList.BooleanSubList
,AbstractBooleanCollection
,AbstractBooleanList
,AbstractBooleanList.BooleanRandomAccessSubList
,AbstractBooleanList.BooleanSubList
,AbstractBooleanSet
,BooleanArrayList
,BooleanArraySet
,BooleanBigArrayBigList
,BooleanBigLists.EmptyBigList
,BooleanBigLists.ListBigList
,BooleanBigLists.Singleton
,BooleanBigLists.SynchronizedBigList
,BooleanBigLists.UnmodifiableBigList
,BooleanCollections.EmptyCollection
,BooleanCollections.IterableCollection
,BooleanImmutableList
,BooleanLists.EmptyList
,BooleanLists.Singleton
,BooleanLists.SynchronizedList
,BooleanLists.SynchronizedRandomAccessList
,BooleanLists.UnmodifiableList
,BooleanLists.UnmodifiableRandomAccessList
,BooleanOpenHashSet
,BooleanSets.EmptySet
,BooleanSets.Singleton
,BooleanSets.SynchronizedSet
,BooleanSets.UnmodifiableSet
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 TypeMethodDescriptiondefault 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
Deprecated.Please use the corresponding type-specific method instead.iterator()
Returns a type-specific iterator.default BooleanSpliterator
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 interfaceIterable<Boolean>
- Returns:
- a type-specific iterator.
- See Also:
- 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 interfaceIterable<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:
- 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.Please use the corresponding type-specific method instead.
-