Interface BooleanIterable

All Superinterfaces:
Iterable<Boolean>

public interface BooleanIterable extends Iterable<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:
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    Performs the given action for each element of this type-specific Iterable 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.
    Returns a type-specific iterator.
    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 interface Iterable<Boolean>
      Returns:
      a type-specific iterator.
      See Also:
      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:
      spliterator in interface Iterable<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-specific Iterable 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 default void forEach(Consumer<? super Boolean> action)
      Deprecated.
      Please use the corresponding type-specific method instead.
      Specified by:
      forEach in interface Iterable<Boolean>