Interface FloatIterable

All Superinterfaces:
java.lang.Iterable<java.lang.Float>
All Known Subinterfaces:
FloatBidirectionalIterable, FloatBigList, FloatCollection, FloatList, FloatSet, FloatSortedSet
All Known Implementing Classes:
AbstractFloatBigList, AbstractFloatBigList.FloatRandomAccessSubList, AbstractFloatBigList.FloatSubList, AbstractFloatCollection, AbstractFloatList, AbstractFloatList.FloatRandomAccessSubList, AbstractFloatList.FloatSubList, AbstractFloatSet, AbstractFloatSortedSet, FloatArrayList, FloatArraySet, FloatAVLTreeSet, FloatBigArrayBigList, FloatBigLists.EmptyBigList, FloatBigLists.ListBigList, FloatBigLists.Singleton, FloatBigLists.SynchronizedBigList, FloatBigLists.UnmodifiableBigList, FloatCollections.EmptyCollection, FloatCollections.IterableCollection, FloatImmutableList, FloatLinkedOpenCustomHashSet, FloatLinkedOpenHashSet, FloatLists.EmptyList, FloatLists.Singleton, FloatLists.SynchronizedList, FloatLists.SynchronizedRandomAccessList, FloatLists.UnmodifiableList, FloatLists.UnmodifiableRandomAccessList, FloatOpenCustomHashSet, FloatOpenHashBigSet, FloatOpenHashSet, FloatRBTreeSet, FloatSets.EmptySet, FloatSets.Singleton, FloatSets.SynchronizedSet, FloatSets.UnmodifiableSet, FloatSortedSets.EmptySet, FloatSortedSets.Singleton, FloatSortedSets.SynchronizedSortedSet, FloatSortedSets.UnmodifiableSortedSet

public interface FloatIterable
extends java.lang.Iterable<java.lang.Float>
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 DoubleIterator doubleIterator()
    Returns a widened primitive iterator on the elements of this iterable.
    default DoubleSpliterator doubleSpliterator()
    Returns widened primitive spliterator on the elements of this iterable.
    default void forEach​(FloatConsumer 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.
    default void forEach​(java.util.function.Consumer<? super java.lang.Float> action)
    Deprecated.
    Please use the corresponding type-specific method instead.
    default void forEach​(java.util.function.DoubleConsumer action)
    Performs the given action for each element of this type-specific Iterable, performing widening primitive casts, until all elements have been processed or the action throws an exception.
    FloatIterator iterator()
    Returns a type-specific iterator.
    default FloatSpliterator spliterator()
    Returns a type-specific spliterator on the elements of this iterable.
  • Method Details

    • iterator

      FloatIterator iterator()
      Returns a type-specific iterator.
      Specified by:
      iterator in interface java.lang.Iterable<java.lang.Float>
      Returns:
      a type-specific iterator.
      See Also:
      Iterable.iterator()
      API Notes:
      Note that this specification strengthens the one given in Iterable.iterator().
    • doubleIterator

      default DoubleIterator doubleIterator()
      Returns a widened primitive iterator on the elements of this iterable.

      This method is provided for the purpose of APIs that expect only the JDK's primitive iterators, of which there are only int, long, and double.

      Returns:
      a widened primitive iterator on the elements of this iterable.
      Since:
      8.5.0
    • spliterator

      default FloatSpliterator spliterator()
      Returns a type-specific spliterator on the elements of this iterable.
      Specified by:
      spliterator in interface java.lang.Iterable<java.lang.Float>
      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().
    • doubleSpliterator

      default DoubleSpliterator doubleSpliterator()
      Returns widened primitive spliterator on the elements of this iterable.

      This method is provided for the purpose of APIs that expect only the JDK's primitive spliterators, of which there are only int, long, and double.

      Returns:
      a widened primitive spliterator on the elements of this iterable.
      Since:
      8.5.0
      Implementation Specification:
      The default implementation widens the spliterator from spliterator().
    • forEach

      default void forEach​(FloatConsumer 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:
      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

      default void forEach​(java.util.function.DoubleConsumer action)
      Performs the given action for each element of this type-specific Iterable, performing widening primitive casts, 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)
      Implementation Notes:
      Unless the argument is type-specific, this method will introduce an intermediary lambda to perform widening casts. Please use the type-specific overload to avoid this overhead.
    • forEach

      @Deprecated default void forEach​(java.util.function.Consumer<? super java.lang.Float> action)
      Deprecated.
      Please use the corresponding type-specific method instead.
      Specified by:
      forEach in interface java.lang.Iterable<java.lang.Float>