Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

# OfDouble

```
interface OfDouble : Spliterator.OfPrimitive<Double!, DoubleConsumer!, Spliterator.OfDouble!>
```

|---|
| [java.util.Spliterator.OfDouble](https://developer.android.com/reference/kotlin/java/util/Spliterator.OfDouble#) |

|---|
| Known Direct Subclasses [Spliterators.AbstractDoubleSpliterator](https://developer.android.com/reference/kotlin/java/util/Spliterators.AbstractDoubleSpliterator) |---|---| | [Spliterators.AbstractDoubleSpliterator](https://developer.android.com/reference/kotlin/java/util/Spliterators.AbstractDoubleSpliterator) | An abstract `Spliterator.OfDouble` that implements `trySplit` to permit limited parallelism. | |

A Spliterator specialized for `double` values.

## Summary

| Public methods ||
|---|---|
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/java/util/Spliterator.OfDouble#forEachRemaining(java.util.function.Consumer)(action: https://developer.android.com/reference/kotlin/java/util/function/Consumer<in https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html!>!)` Performs the given action for each remaining element, sequentially in the current thread, until all elements have been processed or the action throws an exception. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/java/util/Spliterator.OfDouble#forEachRemaining(java.util.function.DoubleConsumer)(action: https://developer.android.com/reference/kotlin/java/util/function/DoubleConsumer!)` Performs the given action for each remaining element, sequentially in the current thread, until all elements have been processed or the action throws an exception. |
| open [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | `https://developer.android.com/reference/kotlin/java/util/Spliterator.OfDouble#tryAdvance(java.util.function.Consumer)(action: https://developer.android.com/reference/kotlin/java/util/function/Consumer<in https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html!>!)` If a remaining element exists: performs the given action on it, returning `true`; else returns `false`. |
| abstract [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | `https://developer.android.com/reference/kotlin/java/util/Spliterator.OfDouble#tryAdvance(java.util.function.DoubleConsumer)(action: https://developer.android.com/reference/kotlin/java/util/function/DoubleConsumer!)` If a remaining element exists, performs the given action on it, returning `true`; else returns `false`. |
| abstract [Spliterator.OfDouble](https://developer.android.com/reference/kotlin/java/util/Spliterator.OfDouble#)! | `https://developer.android.com/reference/kotlin/java/util/Spliterator.OfDouble#trySplit()()` If this spliterator can be partitioned, returns a Spliterator covering elements, that will, upon return from this method, not be covered by this Spliterator. |

## Public methods

### forEachRemaining

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
open fun forEachRemaining(action: Consumer<in Double!>!): Unit
```

Performs the given action for each remaining element, sequentially in the current thread, until all elements have been processed or the action throws an exception. If this Spliterator is `https://developer.android.com/reference/kotlin/java/util/Spliterator#ORDERED:kotlin.Int`, actions are performed in encounter order. Exceptions thrown by the action are relayed to the caller.

Subsequent behavior of a spliterator is unspecified if the action throws an exception.

| Parameters ||
|---|---|
| `action` | [Consumer](https://developer.android.com/reference/kotlin/java/util/function/Consumer)\<in [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)!\>!: The action |

| Exceptions ||
|---|---|
| `java.lang.NullPointerException` | if the specified action is null |

### forEachRemaining

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
open fun forEachRemaining(action: DoubleConsumer!): Unit
```

Performs the given action for each remaining element, sequentially in the current thread, until all elements have been processed or the action throws an exception. If this Spliterator is `https://developer.android.com/reference/kotlin/java/util/Spliterator#ORDERED:kotlin.Int`, actions are performed in encounter order. Exceptions thrown by the action are relayed to the caller.

Subsequent behavior of a spliterator is unspecified if the action throws an exception.

| Parameters ||
|---|---|
| `action` | [DoubleConsumer](https://developer.android.com/reference/kotlin/java/util/function/DoubleConsumer)!: The action |

| Exceptions ||
|---|---|
| `java.lang.NullPointerException` | if the specified action is null |

### tryAdvance

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
open fun tryAdvance(action: Consumer<in Double!>!): Boolean
```

If a remaining element exists: performs the given action on it, returning `true`; else returns `false`. If this Spliterator is `https://developer.android.com/reference/kotlin/java/util/Spliterator#ORDERED:kotlin.Int` the action is performed on the next element in encounter order. Exceptions thrown by the action are relayed to the caller.

Subsequent behavior of a spliterator is unspecified if the action throws an exception.

| Parameters ||
|---|---|
| `action` | [Consumer](https://developer.android.com/reference/kotlin/java/util/function/Consumer)\<in [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)!\>!: The action whose operation is performed at-most once |

| Return ||
|---|---|
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html` | `false` if no remaining elements existed upon entry to this method, else `true`. |

| Exceptions ||
|---|---|
| `java.lang.NullPointerException` | if the specified action is null |

### tryAdvance

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
abstract fun tryAdvance(action: DoubleConsumer!): Boolean
```

If a remaining element exists, performs the given action on it, returning `true`; else returns `false`. If this Spliterator is `https://developer.android.com/reference/kotlin/java/util/Spliterator#ORDERED:kotlin.Int` the action is performed on the next element in encounter order. Exceptions thrown by the action are relayed to the caller.

Subsequent behavior of a spliterator is unspecified if the action throws an exception.

| Parameters ||
|---|---|
| `action` | [DoubleConsumer](https://developer.android.com/reference/kotlin/java/util/function/DoubleConsumer)!: The action |

| Return ||
|---|---|
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html` | `false` if no remaining elements existed upon entry to this method, else `true`. |

| Exceptions ||
|---|---|
| `java.lang.NullPointerException` | if the specified action is null |

### trySplit

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
abstract fun trySplit(): Spliterator.OfDouble!
```

If this spliterator can be partitioned, returns a Spliterator covering elements, that will, upon return from this method, not be covered by this Spliterator.

If this Spliterator is `https://developer.android.com/reference/kotlin/java/util/Spliterator#ORDERED:kotlin.Int`, the returned Spliterator must cover a strict prefix of the elements.

Unless this Spliterator covers an infinite number of elements, repeated calls to `trySplit()` must eventually return `null`. Upon non-null return:

- the value reported for `estimateSize()` before splitting, must, after splitting, be greater than or equal to `estimateSize()` for this and the returned Spliterator; and
- if this Spliterator is `SUBSIZED`, then `estimateSize()` for this spliterator before splitting must be equal to the sum of `estimateSize()` for this and the returned Spliterator after splitting.

This method may return `null` for any reason, including emptiness, inability to split after traversal has commenced, data structure constraints, and efficiency considerations.

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/java/util/Spliterator.OfDouble#!` | a `Spliterator` covering some portion of the elements, or `null` if this spliterator cannot be split |