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

# OfLong

```
interface OfLong : Spliterator.OfPrimitive<Long!, LongConsumer!, Spliterator.OfLong!>
```

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

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

A Spliterator specialized for `long` 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.OfLong#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/-long/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.OfLong#forEachRemaining(java.util.function.LongConsumer)(action: https://developer.android.com/reference/kotlin/java/util/function/LongConsumer!)` 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.OfLong#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/-long/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.OfLong#tryAdvance(java.util.function.LongConsumer)(action: https://developer.android.com/reference/kotlin/java/util/function/LongConsumer!)` If a remaining element exists, performs the given action on it, returning `true`; else returns `false`. |
| abstract [Spliterator.OfLong](https://developer.android.com/reference/kotlin/java/util/Spliterator.OfLong#)! | `https://developer.android.com/reference/kotlin/java/util/Spliterator.OfLong#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 Long!>!): 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 [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/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: LongConsumer!): 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` | [LongConsumer](https://developer.android.com/reference/kotlin/java/util/function/LongConsumer)!: 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 Long!>!): 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 [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/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: LongConsumer!): 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` | [LongConsumer](https://developer.android.com/reference/kotlin/java/util/function/LongConsumer)!: 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.OfLong!
```

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.OfLong#!` | a `Spliterator` covering some portion of the elements, or `null` if this spliterator cannot be split |