Package it.unimi.dsi.fastutil.booleans
Interface BooleanIterable
-
- All Superinterfaces:
java.lang.Iterable<java.lang.Boolean>
- 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
public interface BooleanIterable extends java.lang.Iterable<java.lang.Boolean>A type-specificIterablethat 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”
forstatements with primitive-type loop variables; however, what is (unfortunately) really happening is that at each iteration an unboxing (and, in the case offastutiltype-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 voidforEach(BooleanConsumer action)Performs the given action for each element of this type-specificIterableuntil all elements have been processed or the action throws an exception.default voidforEach(java.util.function.Consumer<? super java.lang.Boolean> action)Deprecated.Please use the corresponding type-specific method instead.BooleanIteratoriterator()Returns a type-specific iterator.default BooleanSpliteratorspliterator()Returns a type-specific spliterator on the elements of this iterable.
-
-
-
Method Detail
-
iterator
BooleanIterator iterator()
Returns a type-specific iterator.- Specified by:
iteratorin 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
default BooleanSpliterator spliterator()
Returns a type-specific spliterator on the elements of this iterable.- Specified by:
spliteratorin 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
default void forEach(BooleanConsumer action)
Performs the given action for each element of this type-specificIterableuntil 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:
forEachin interfacejava.lang.Iterable<java.lang.Boolean>
-
-