public interface DoubleIterable
extends java.lang.Iterable<java.lang.Double>
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.
Iterable| Modifier and Type | Method and Description |
|---|---|
default it.unimi.dsi.fastutil.doubles.DoubleIterator |
doubleIterator()
Returns a primitive iterator on the elements of this iterable.
|
default it.unimi.dsi.fastutil.doubles.DoubleSpliterator |
doubleSpliterator()
Returns a primitive spliterator on the elements of this iterable.
|
default void |
forEach(java.util.function.Consumer<? super java.lang.Double> 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
until all elements have been processed or the action throws an
exception. |
default void |
forEach(it.unimi.dsi.fastutil.doubles.DoubleConsumer 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. |
it.unimi.dsi.fastutil.doubles.DoubleIterator |
iterator()
Returns a type-specific iterator.
|
default it.unimi.dsi.fastutil.doubles.DoubleSpliterator |
spliterator()
Returns a type-specific spliterator on the elements of this iterable.
|
it.unimi.dsi.fastutil.doubles.DoubleIterator iterator()
iterator in interface java.lang.Iterable<java.lang.Double>Iterable.iterator()default it.unimi.dsi.fastutil.doubles.DoubleIterator doubleIterator()
This method is identical to iterator(), as the type-specific
iterator is already compatible with the JDK's primitive iterators.
It only exists for compatibility with the other primitive types' Iterables
that have use for widened iterators.
default it.unimi.dsi.fastutil.doubles.DoubleSpliterator spliterator()
spliterator in interface java.lang.Iterable<java.lang.Double>default it.unimi.dsi.fastutil.doubles.DoubleSpliterator doubleSpliterator()
This method is identical to spliterator(), as the type-specific
spliterator is already compatible with the JDK's primitive spliterators.
It only exists for compatibility with the other primitive types' Iterables
that have use for widened spliterators.
default void forEach(java.util.function.DoubleConsumer action)
Iterable
until all elements have been processed or the action throws an
exception.action - the action to be performed for each element.Iterable.forEach(java.util.function.Consumer)default void forEach(it.unimi.dsi.fastutil.doubles.DoubleConsumer action)
Iterable
until all elements have been processed or the action throws an exception.
WARNING: Overriding this method is almost always a mistake, as this
overload only exists to disambiguate. Instead, override the forEach() overload
that uses the JDK's primitive consumer type (e.g. IntConsumer).
If Java supported final default methods, this would be one, but sadly it does not.
If you checked and are overriding the version with java.util.function.XConsumer, and
still see this warning, then your IDE is incorrectly conflating this method with the proper
method to override, and you can safely ignore this message.
action - the action to be performed for each element.Iterable.forEach(java.util.function.Consumer)@Deprecated default void forEach(java.util.function.Consumer<? super java.lang.Double> action)
forEach in interface java.lang.Iterable<java.lang.Double>