Interface BooleanIterable
-
- All Known Subinterfaces:
BooleanBidirectionalIterable
,BooleanBigList
,BooleanCollection
,BooleanList
,BooleanSet
- All Known Implementing Classes:
AbstractBooleanBigList
,AbstractBooleanBigList.BooleanSubList
,AbstractBooleanCollection
,AbstractBooleanList
,AbstractBooleanList.BooleanSubList
,AbstractBooleanSet
,BooleanArrayList
,BooleanArraySet
,BooleanBigArrayBigList
,BooleanBigLists.EmptyBigList
,BooleanBigLists.ListBigList
,BooleanBigLists.Singleton
,BooleanBigLists.SynchronizedBigList
,BooleanBigLists.UnmodifiableBigList
,BooleanCollections.EmptyCollection
,BooleanCollections.IterableCollection
,BooleanCollections.SynchronizedCollection
,BooleanCollections.UnmodifiableCollection
,BooleanLists.EmptyList
,BooleanLists.Singleton
,BooleanLists.SynchronizedList
,BooleanLists.SynchronizedRandomAccessList
,BooleanLists.UnmodifiableList
,BooleanLists.UnmodifiableRandomAccessList
,BooleanOpenHashSet
,BooleanSets.EmptySet
,BooleanSets.Singleton
,BooleanSets.SynchronizedSet
,BooleanSets.UnmodifiableSet
public interface BooleanIterable extends Iterable<Boolean>
A type-specificIterable
that strengthens that specification ofiterator()
andforEach(Consumer)
.Note that whenever there exist a primitive consumer in
java.util.function
(e.g.,IntConsumer
), trying to access any version offorEach(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 inintIterable.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 offastutil
type-specific data structures, a boxing) will be performed. Watch out.- See Also:
Iterable
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods 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(Consumer<? super Boolean> action)
Deprecated.Please use the corresponding type-specific method instead.BooleanIterator
iterator()
Returns a type-specific iterator.-
Methods inherited from interface java.lang.Iterable
spliterator
-
-
-
-
Method Detail
-
iterator
BooleanIterator iterator()
Returns a type-specific iterator.Note that this specification strengthens the one given in
Iterable.iterator()
.- Specified by:
iterator
in interfaceIterable<Boolean>
- Returns:
- a type-specific iterator.
- See Also:
Iterable.iterator()
-
forEach
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.- Parameters:
action
- the action to be performed for each element.- Since:
- 8.0.0
- See Also:
Iterable.forEach(java.util.function.Consumer)
-
-