# Spliterators

public final class **Spliterators** extends [Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html)  
Static classes and methods for operating on or creating instances of
`https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html` and its primitive specializations
`https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfInt.html`, `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfLong.html`, and
`https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfDouble.html`.

##### See Also

- `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html`

### Nested Class Summary

|---|---|---|---|
| class | [Spliterators.AbstractDoubleSpliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.AbstractDoubleSpliterator.html) || An abstract `Spliterator.OfDouble` that implements `trySplit` to permit limited parallelism. |
| class | [Spliterators.AbstractIntSpliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.AbstractIntSpliterator.html) || An abstract `Spliterator.OfInt` that implements `trySplit` to permit limited parallelism. |
| class | [Spliterators.AbstractLongSpliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.AbstractLongSpliterator.html) || An abstract `Spliterator.OfLong` that implements `trySplit` to permit limited parallelism. |
| class | [Spliterators.AbstractSpliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.AbstractSpliterator.html)\<T\> || An abstract `Spliterator` that implements `trySplit` to permit limited parallelism. |

### Public Method Summary

|---|---|
| static [Spliterator.OfDouble](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfDouble.html) | [emptyDoubleSpliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#emptyDoubleSpliterator())() Creates an empty `Spliterator.OfDouble` The empty spliterator reports `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html#SIZED` and `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html#SUBSIZED`. |
| static [Spliterator.OfInt](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfInt.html) | [emptyIntSpliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#emptyIntSpliterator())() Creates an empty `Spliterator.OfInt` The empty spliterator reports `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html#SIZED` and `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html#SUBSIZED`. |
| static [Spliterator.OfLong](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfLong.html) | [emptyLongSpliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#emptyLongSpliterator())() Creates an empty `Spliterator.OfLong` The empty spliterator reports `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html#SIZED` and `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html#SUBSIZED`. |
| static \<T\> [Spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html)\<T\> | [emptySpliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#emptySpliterator())() Creates an empty `Spliterator` The empty spliterator reports `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html#SIZED` and `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html#SUBSIZED`. |
| static [PrimitiveIterator.OfDouble](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/PrimitiveIterator.OfDouble.html) | [iterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#iterator(java.util.Spliterator.OfDouble))([Spliterator.OfDouble](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfDouble.html) spliterator) Creates an `PrimitiveIterator.OfDouble` from a `Spliterator.OfDouble`. |
| static [PrimitiveIterator.OfInt](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/PrimitiveIterator.OfInt.html) | [iterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#iterator(java.util.Spliterator.OfInt))([Spliterator.OfInt](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfInt.html) spliterator) Creates an `PrimitiveIterator.OfInt` from a `Spliterator.OfInt`. |
| static [PrimitiveIterator.OfLong](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/PrimitiveIterator.OfLong.html) | [iterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#iterator(java.util.Spliterator.OfLong))([Spliterator.OfLong](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfLong.html) spliterator) Creates an `PrimitiveIterator.OfLong` from a `Spliterator.OfLong`. |
| static \<T\> [Iterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Iterator.html)\<T\> | [iterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#iterator(java.util.Spliterator<?%20extends%20T>))([Spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html)\<? extends T\> spliterator) Creates an `Iterator` from a `Spliterator`. |
| static \<T\> [Spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html)\<T\> | [spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#spliterator(java.util.Iterator<?%20extends%20T>,%20long,%20int))([Iterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Iterator.html)\<? extends T\> iterator, long size, int characteristics) Creates a `Spliterator` using a given `Iterator` as the source of elements, and with a given initially reported size. |
| static [Spliterator.OfLong](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfLong.html) | [spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#spliterator(long[],%20int))(long\[\] array, int additionalCharacteristics) Creates a `Spliterator.OfLong` covering the elements of a given array, using a customized set of spliterator characteristics. |
| static \<T\> [Spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html)\<T\> | [spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#spliterator(java.lang.Object[],%20int,%20int,%20int))([Object\[\]](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html) array, int fromIndex, int toIndex, int additionalCharacteristics) Creates a `Spliterator` covering a range of elements of a given array, using a customized set of spliterator characteristics. |
| static [Spliterator.OfLong](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfLong.html) | [spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#spliterator(long[],%20int,%20int,%20int))(long\[\] array, int fromIndex, int toIndex, int additionalCharacteristics) Creates a `Spliterator.OfLong` covering a range of elements of a given array, using a customized set of spliterator characteristics. |
| static [Spliterator.OfLong](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfLong.html) | [spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#spliterator(java.util.PrimitiveIterator.OfLong,%20long,%20int))([PrimitiveIterator.OfLong](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/PrimitiveIterator.OfLong.html) iterator, long size, int characteristics) Creates a `Spliterator.OfLong` using a given `LongStream.LongIterator` as the source of elements, and with a given initially reported size. |
| static [Spliterator.OfDouble](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfDouble.html) | [spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#spliterator(java.util.PrimitiveIterator.OfDouble,%20long,%20int))([PrimitiveIterator.OfDouble](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/PrimitiveIterator.OfDouble.html) iterator, long size, int characteristics) Creates a `Spliterator.OfDouble` using a given `DoubleStream.DoubleIterator` as the source of elements, and with a given initially reported size. |
| static [Spliterator.OfDouble](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfDouble.html) | [spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#spliterator(double[],%20int))(double\[\] array, int additionalCharacteristics) Creates a `Spliterator.OfDouble` covering the elements of a given array, using a customized set of spliterator characteristics. |
| static [Spliterator.OfInt](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfInt.html) | [spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#spliterator(int[],%20int,%20int,%20int))(int\[\] array, int fromIndex, int toIndex, int additionalCharacteristics) Creates a `Spliterator.OfInt` covering a range of elements of a given array, using a customized set of spliterator characteristics. |
| static \<T\> [Spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html)\<T\> | [spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#spliterator(java.util.Collection<?%20extends%20T>,%20int))([Collection](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Collection.html)\<? extends T\> c, int characteristics) Creates a `Spliterator` using the given collection's `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Collection.html#iterator()` as the source of elements, and reporting its `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Collection.html#size()` as its initial size. |
| static \<T\> [Spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html)\<T\> | [spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#spliterator(java.lang.Object[],%20int))([Object\[\]](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html) array, int additionalCharacteristics) Creates a `Spliterator` covering the elements of a given array, using a customized set of spliterator characteristics. |
| static [Spliterator.OfInt](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfInt.html) | [spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#spliterator(int[],%20int))(int\[\] array, int additionalCharacteristics) Creates a `Spliterator.OfInt` covering the elements of a given array, using a customized set of spliterator characteristics. |
| static [Spliterator.OfDouble](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfDouble.html) | [spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#spliterator(double[],%20int,%20int,%20int))(double\[\] array, int fromIndex, int toIndex, int additionalCharacteristics) Creates a `Spliterator.OfDouble` covering a range of elements of a given array, using a customized set of spliterator characteristics. |
| static [Spliterator.OfInt](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfInt.html) | [spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#spliterator(java.util.PrimitiveIterator.OfInt,%20long,%20int))([PrimitiveIterator.OfInt](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/PrimitiveIterator.OfInt.html) iterator, long size, int characteristics) Creates a `Spliterator.OfInt` using a given `IntStream.IntIterator` as the source of elements, and with a given initially reported size. |
| static [Spliterator.OfInt](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfInt.html) | [spliteratorUnknownSize](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#spliteratorUnknownSize(java.util.PrimitiveIterator.OfInt,%20int))([PrimitiveIterator.OfInt](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/PrimitiveIterator.OfInt.html) iterator, int characteristics) Creates a `Spliterator.OfInt` using a given `IntStream.IntIterator` as the source of elements, with no initial size estimate. |
| static \<T\> [Spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html)\<T\> | [spliteratorUnknownSize](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#spliteratorUnknownSize(java.util.Iterator<?%20extends%20T>,%20int))([Iterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Iterator.html)\<? extends T\> iterator, int characteristics) Creates a `Spliterator` using a given `Iterator` as the source of elements, with no initial size estimate. |
| static [Spliterator.OfDouble](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfDouble.html) | [spliteratorUnknownSize](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#spliteratorUnknownSize(java.util.PrimitiveIterator.OfDouble,%20int))([PrimitiveIterator.OfDouble](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/PrimitiveIterator.OfDouble.html) iterator, int characteristics) Creates a `Spliterator.OfDouble` using a given `DoubleStream.DoubleIterator` as the source of elements, with no initial size estimate. |
| static [Spliterator.OfLong](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfLong.html) | [spliteratorUnknownSize](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterators.html#spliteratorUnknownSize(java.util.PrimitiveIterator.OfLong,%20int))([PrimitiveIterator.OfLong](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/PrimitiveIterator.OfLong.html) iterator, int characteristics) Creates a `Spliterator.OfLong` using a given `LongStream.LongIterator` as the source of elements, with no initial size estimate. |

### Inherited Method Summary

From class [java.lang.Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html)

|---|---|
| [Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html) | [clone](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#clone())() Creates and returns a copy of this `Object`. |
| boolean | [equals](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#equals(java.lang.Object))([Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html) obj) Compares this instance with the specified object and indicates if they are equal. |
| void | [finalize](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#finalize())() Invoked when the garbage collector has detected that this instance is no longer reachable. |
| final [Class](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Class.html)\<?\> | [getClass](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#getClass())() Returns the unique instance of `https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Class.html` that represents this object's class. |
| int | [hashCode](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#hashCode())() Returns an integer hash code for this object. |
| final void | [notify](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#notify())() Causes a thread which is waiting on this object's monitor (by means of calling one of the `wait()` methods) to be woken up. |
| final void | [notifyAll](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#notifyAll())() Causes all threads which are waiting on this object's monitor (by means of calling one of the `wait()` methods) to be woken up. |
| [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [toString](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#toString())() Returns a string containing a concise, human-readable description of this object. |
| final void | [wait](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#wait(long,%20int))(long timeout, int nanos) Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object or until the specified timeout expires. |
| final void | [wait](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#wait(long))(long timeout) Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object or until the specified timeout expires. |
| final void | [wait](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#wait())() Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object. |

## Public Methods

#### public static [Spliterator.OfDouble](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfDouble.html)
**emptyDoubleSpliterator**
()

Creates an empty `Spliterator.OfDouble`

The empty spliterator reports `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html#SIZED` and
`https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html#SUBSIZED`. Calls to
`https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html#trySplit()` always return `null`.

##### Returns

- An empty spliterator

#### public static [Spliterator.OfInt](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfInt.html)
**emptyIntSpliterator**
()

Creates an empty `Spliterator.OfInt`

The empty spliterator reports `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html#SIZED` and
`https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html#SUBSIZED`. Calls to
`https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html#trySplit()` always return `null`.

##### Returns

- An empty spliterator

#### public static [Spliterator.OfLong](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfLong.html)
**emptyLongSpliterator**
()

Creates an empty `Spliterator.OfLong`

The empty spliterator reports `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html#SIZED` and
`https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html#SUBSIZED`. Calls to
`https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html#trySplit()` always return `null`.

##### Returns

- An empty spliterator

#### public static [Spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html)\<T\>
**emptySpliterator**
()

Creates an empty `Spliterator`

The empty spliterator reports `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html#SIZED` and
`https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html#SUBSIZED`. Calls to
`https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html#trySplit()` always return `null`.

##### Returns

- An empty spliterator

#### public static [PrimitiveIterator.OfDouble](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/PrimitiveIterator.OfDouble.html)
**iterator**
([Spliterator.OfDouble](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfDouble.html) spliterator)

Creates an `PrimitiveIterator.OfDouble` from a
`Spliterator.OfDouble`.

Traversal of elements should be accomplished through the iterator.
The behaviour of traversal is undefined if the spliterator is operated
after the iterator is returned.

##### Parameters

| spliterator | The spliterator |
|---|---|

##### Returns

- An iterator

##### Throws

| [NullPointerException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/NullPointerException.html) | if the given spliterator is `null` |
|---|---|

#### public static [PrimitiveIterator.OfInt](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/PrimitiveIterator.OfInt.html)
**iterator**
([Spliterator.OfInt](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfInt.html) spliterator)

Creates an `PrimitiveIterator.OfInt` from a
`Spliterator.OfInt`.

Traversal of elements should be accomplished through the iterator.
The behaviour of traversal is undefined if the spliterator is operated
after the iterator is returned.

##### Parameters

| spliterator | The spliterator |
|---|---|

##### Returns

- An iterator

##### Throws

| [NullPointerException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/NullPointerException.html) | if the given spliterator is `null` |
|---|---|

#### public static [PrimitiveIterator.OfLong](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/PrimitiveIterator.OfLong.html)
**iterator**
([Spliterator.OfLong](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfLong.html) spliterator)

Creates an `PrimitiveIterator.OfLong` from a
`Spliterator.OfLong`.

Traversal of elements should be accomplished through the iterator.
The behaviour of traversal is undefined if the spliterator is operated
after the iterator is returned.

##### Parameters

| spliterator | The spliterator |
|---|---|

##### Returns

- An iterator

##### Throws

| [NullPointerException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/NullPointerException.html) | if the given spliterator is `null` |
|---|---|

#### public static [Iterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Iterator.html)\<T\>
**iterator**
([Spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html)\<? extends T\> spliterator)

Creates an `Iterator` from a `Spliterator`.

Traversal of elements should be accomplished through the iterator.
The behaviour of traversal is undefined if the spliterator is operated
after the iterator is returned.

##### Parameters

| spliterator | The spliterator |
|---|---|

##### Returns

- An iterator

##### Throws

| [NullPointerException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/NullPointerException.html) | if the given spliterator is `null` |
|---|---|

#### public static [Spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html)\<T\>
**spliterator**
([Iterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Iterator.html)\<? extends T\> iterator, long size, int characteristics)

Creates a `Spliterator` using a given `Iterator`
as the source of elements, and with a given initially reported size.

The spliterator is not
*[late-binding](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator#binding)* , inherits
the *fail-fast* properties of the iterator, and implements
`trySplit` to permit limited parallelism.

Traversal of elements should be accomplished through the spliterator.
The behaviour of splitting and traversal is undefined if the iterator is
operated on after the spliterator is returned, or the initially reported
size is not equal to the actual number of elements in the source.

##### Parameters

| iterator | The iterator for the source |
| size | The number of elements in the source, to be reported as initial `estimateSize` |
| characteristics | Characteristics of this spliterator's source or elements. The characteristics `SIZED` and `SUBSIZED` are additionally reported unless `CONCURRENT` is supplied. |
|---|---|

##### Returns

- A spliterator from an iterator

##### Throws

| [NullPointerException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/NullPointerException.html) | if the given iterator is `null` |
|---|---|

#### public static [Spliterator.OfLong](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfLong.html)
**spliterator**
(long\[\] array, int additionalCharacteristics)

Creates a `Spliterator.OfLong` covering the elements of a given array,
using a customized set of spliterator characteristics.

This method is provided as an implementation convenience for
Spliterators which store portions of their elements in arrays, and need
fine control over Spliterator characteristics. Most other situations in
which a Spliterator for an array is needed should use
`https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Arrays.html#spliterator(long[])`.

The returned spliterator always reports the characteristics
`SIZED` and `SUBSIZED`. The caller may provide additional
characteristics for the spliterator to report; it is common to
additionally specify `IMMUTABLE` and `ORDERED`.

##### Parameters

| array | The array, assumed to be unmodified during use |
| additionalCharacteristics | Additional spliterator characteristics of this spliterator's source or elements beyond `SIZED` and `SUBSIZED` which are are always reported |
|---|---|

##### Returns

- A spliterator for an array

##### Throws

| [NullPointerException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/NullPointerException.html) | if the given array is `null` |
|---|---|

##### See Also

- `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Arrays.html#spliterator(long[])`

#### public static [Spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html)\<T\>
**spliterator**
([Object\[\]](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html) array, int fromIndex, int toIndex, int additionalCharacteristics)

Creates a `Spliterator` covering a range of elements of a given
array, using a customized set of spliterator characteristics.

This method is provided as an implementation convenience for
Spliterators which store portions of their elements in arrays, and need
fine control over Spliterator characteristics. Most other situations in
which a Spliterator for an array is needed should use
`https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Arrays.html#spliterator(T[])`.

The returned spliterator always reports the characteristics
`SIZED` and `SUBSIZED`. The caller may provide additional
characteristics for the spliterator to report; it is common to
additionally specify `IMMUTABLE` and `ORDERED`.

##### Parameters

| array | The array, assumed to be unmodified during use |
| fromIndex | The least index (inclusive) to cover |
| toIndex | One past the greatest index to cover |
| additionalCharacteristics | Additional spliterator characteristics of this spliterator's source or elements beyond `SIZED` and `SUBSIZED` which are are always reported |
|---|---|

##### Returns

- A spliterator for an array

##### Throws

| [NullPointerException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/NullPointerException.html) | if the given array is `null` |
| [ArrayIndexOutOfBoundsException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/ArrayIndexOutOfBoundsException.html) | if `fromIndex` is negative, `toIndex` is less than `fromIndex`, or `toIndex` is greater than the array size |
|---|---|

##### See Also

- `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Arrays.html#spliterator(T[],%20int,%20int)`

#### public static [Spliterator.OfLong](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfLong.html)
**spliterator**
(long\[\] array, int fromIndex, int toIndex, int additionalCharacteristics)

Creates a `Spliterator.OfLong` covering a range of elements of a
given array, using a customized set of spliterator characteristics.

This method is provided as an implementation convenience for
Spliterators which store portions of their elements in arrays, and need
fine control over Spliterator characteristics. Most other situations in
which a Spliterator for an array is needed should use
`https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Arrays.html#spliterator(long[],%20int,%20int)`.

The returned spliterator always reports the characteristics
`SIZED` and `SUBSIZED`. The caller may provide additional
characteristics for the spliterator to report. (For example, if it is
known the array will not be further modified, specify `IMMUTABLE`;
if the array data is considered to have an an encounter order, specify
`ORDERED`). The method `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Arrays.html#spliterator(long[],%20int,%20int)` can
often be used instead, which returns a spliterator that reports
`SIZED`, `SUBSIZED`, `IMMUTABLE`, and `ORDERED`.

##### Parameters

| array | The array, assumed to be unmodified during use |
| fromIndex | The least index (inclusive) to cover |
| toIndex | One past the greatest index to cover |
| additionalCharacteristics | Additional spliterator characteristics of this spliterator's source or elements beyond `SIZED` and `SUBSIZED` which are are always reported |
|---|---|

##### Returns

- A spliterator for an array

##### Throws

| [NullPointerException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/NullPointerException.html) | if the given array is `null` |
| [ArrayIndexOutOfBoundsException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/ArrayIndexOutOfBoundsException.html) | if `fromIndex` is negative, `toIndex` is less than `fromIndex`, or `toIndex` is greater than the array size |
|---|---|

##### See Also

- `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Arrays.html#spliterator(long[],%20int,%20int)`

#### public static [Spliterator.OfLong](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfLong.html)
**spliterator**
([PrimitiveIterator.OfLong](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/PrimitiveIterator.OfLong.html) iterator, long size, int characteristics)

Creates a `Spliterator.OfLong` using a given
`LongStream.LongIterator` as the source of elements, and with a
given initially reported size.

The spliterator is not
*[late-binding](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator#binding)* , inherits
the *fail-fast* properties of the iterator, and implements
`trySplit` to permit limited parallelism.

Traversal of elements should be accomplished through the spliterator.
The behaviour of splitting and traversal is undefined if the iterator is
operated on after the spliterator is returned, or the initially reported
size is not equal to the actual number of elements in the source.

##### Parameters

| iterator | The iterator for the source |
| size | The number of elements in the source, to be reported as initial `estimateSize`. |
| characteristics | Characteristics of this spliterator's source or elements. The characteristics `SIZED` and `SUBSIZED` are additionally reported unless `CONCURRENT` is supplied. |
|---|---|

##### Returns

- A spliterator from an iterator

##### Throws

| [NullPointerException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/NullPointerException.html) | if the given iterator is `null` |
|---|---|

#### public static [Spliterator.OfDouble](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfDouble.html)
**spliterator**
([PrimitiveIterator.OfDouble](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/PrimitiveIterator.OfDouble.html) iterator, long size, int characteristics)

Creates a `Spliterator.OfDouble` using a given
`DoubleStream.DoubleIterator` as the source of elements, and with a
given initially reported size.

The spliterator is not
*[late-binding](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator#binding)* , inherits
the *fail-fast* properties of the iterator, and implements
`trySplit` to permit limited parallelism.

Traversal of elements should be accomplished through the spliterator.
The behaviour of splitting and traversal is undefined if the iterator is
operated on after the spliterator is returned, or the initially reported
size is not equal to the actual number of elements in the source.

##### Parameters

| iterator | The iterator for the source |
| size | The number of elements in the source, to be reported as initial `estimateSize` |
| characteristics | Characteristics of this spliterator's source or elements. The characteristics `SIZED` and `SUBSIZED` are additionally reported unless `CONCURRENT` is supplied. |
|---|---|

##### Returns

- A spliterator from an iterator

##### Throws

| [NullPointerException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/NullPointerException.html) | if the given iterator is `null` |
|---|---|

#### public static [Spliterator.OfDouble](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfDouble.html)
**spliterator**
(double\[\] array, int additionalCharacteristics)

Creates a `Spliterator.OfDouble` covering the elements of a given array,
using a customized set of spliterator characteristics.

This method is provided as an implementation convenience for
Spliterators which store portions of their elements in arrays, and need
fine control over Spliterator characteristics. Most other situations in
which a Spliterator for an array is needed should use
`https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Arrays.html#spliterator(double[])`.

The returned spliterator always reports the characteristics
`SIZED` and `SUBSIZED`. The caller may provide additional
characteristics for the spliterator to report; it is common to
additionally specify `IMMUTABLE` and `ORDERED`.

##### Parameters

| array | The array, assumed to be unmodified during use |
| additionalCharacteristics | Additional spliterator characteristics of this spliterator's source or elements beyond `SIZED` and `SUBSIZED` which are are always reported |
|---|---|

##### Returns

- A spliterator for an array

##### Throws

| [NullPointerException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/NullPointerException.html) | if the given array is `null` |
|---|---|

##### See Also

- `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Arrays.html#spliterator(double[])`

#### public static [Spliterator.OfInt](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfInt.html)
**spliterator**
(int\[\] array, int fromIndex, int toIndex, int additionalCharacteristics)

Creates a `Spliterator.OfInt` covering a range of elements of a
given array, using a customized set of spliterator characteristics.

This method is provided as an implementation convenience for
Spliterators which store portions of their elements in arrays, and need
fine control over Spliterator characteristics. Most other situations in
which a Spliterator for an array is needed should use
`https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Arrays.html#spliterator(int[],%20int,%20int)`.

The returned spliterator always reports the characteristics
`SIZED` and `SUBSIZED`. The caller may provide additional
characteristics for the spliterator to report; it is common to
additionally specify `IMMUTABLE` and `ORDERED`.

##### Parameters

| array | The array, assumed to be unmodified during use |
| fromIndex | The least index (inclusive) to cover |
| toIndex | One past the greatest index to cover |
| additionalCharacteristics | Additional spliterator characteristics of this spliterator's source or elements beyond `SIZED` and `SUBSIZED` which are are always reported |
|---|---|

##### Returns

- A spliterator for an array

##### Throws

| [NullPointerException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/NullPointerException.html) | if the given array is `null` |
| [ArrayIndexOutOfBoundsException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/ArrayIndexOutOfBoundsException.html) | if `fromIndex` is negative, `toIndex` is less than `fromIndex`, or `toIndex` is greater than the array size |
|---|---|

##### See Also

- `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Arrays.html#spliterator(int[],%20int,%20int)`

#### public static [Spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html)\<T\>
**spliterator**
([Collection](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Collection.html)\<? extends T\> c, int characteristics)

Creates a `Spliterator` using the given collection's
`https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Collection.html#iterator()` as the source of elements, and
reporting its `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Collection.html#size()` as its initial size.

The spliterator is
*[late-binding](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator#binding)* , inherits
the *fail-fast* properties of the collection's iterator, and
implements `trySplit` to permit limited parallelism.

##### Parameters

| c | The collection |
| characteristics | Characteristics of this spliterator's source or elements. The characteristics `SIZED` and `SUBSIZED` are additionally reported unless `CONCURRENT` is supplied. |
|---|---|

##### Returns

- A spliterator from an iterator

##### Throws

| [NullPointerException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/NullPointerException.html) | if the given collection is `null` |
|---|---|

#### public static [Spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html)\<T\>
**spliterator**
([Object\[\]](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html) array, int additionalCharacteristics)

Creates a `Spliterator` covering the elements of a given array,
using a customized set of spliterator characteristics.

This method is provided as an implementation convenience for
Spliterators which store portions of their elements in arrays, and need
fine control over Spliterator characteristics. Most other situations in
which a Spliterator for an array is needed should use
`https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Arrays.html#spliterator(T[])`.

The returned spliterator always reports the characteristics
`SIZED` and `SUBSIZED`. The caller may provide additional
characteristics for the spliterator to report; it is common to
additionally specify `IMMUTABLE` and `ORDERED`.

##### Parameters

| array | The array, assumed to be unmodified during use |
| additionalCharacteristics | Additional spliterator characteristics of this spliterator's source or elements beyond `SIZED` and `SUBSIZED` which are are always reported |
|---|---|

##### Returns

- A spliterator for an array

##### Throws

| [NullPointerException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/NullPointerException.html) | if the given array is `null` |
|---|---|

##### See Also

- `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Arrays.html#spliterator(T[])`

#### public static [Spliterator.OfInt](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfInt.html)
**spliterator**
(int\[\] array, int additionalCharacteristics)

Creates a `Spliterator.OfInt` covering the elements of a given array,
using a customized set of spliterator characteristics.

This method is provided as an implementation convenience for
Spliterators which store portions of their elements in arrays, and need
fine control over Spliterator characteristics. Most other situations in
which a Spliterator for an array is needed should use
`https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Arrays.html#spliterator(int[])`.

The returned spliterator always reports the characteristics
`SIZED` and `SUBSIZED`. The caller may provide additional
characteristics for the spliterator to report; it is common to
additionally specify `IMMUTABLE` and `ORDERED`.

##### Parameters

| array | The array, assumed to be unmodified during use |
| additionalCharacteristics | Additional spliterator characteristics of this spliterator's source or elements beyond `SIZED` and `SUBSIZED` which are are always reported |
|---|---|

##### Returns

- A spliterator for an array

##### Throws

| [NullPointerException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/NullPointerException.html) | if the given array is `null` |
|---|---|

##### See Also

- `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Arrays.html#spliterator(int[])`

#### public static [Spliterator.OfDouble](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfDouble.html)
**spliterator**
(double\[\] array, int fromIndex, int toIndex, int additionalCharacteristics)

Creates a `Spliterator.OfDouble` covering a range of elements of a
given array, using a customized set of spliterator characteristics.

This method is provided as an implementation convenience for
Spliterators which store portions of their elements in arrays, and need
fine control over Spliterator characteristics. Most other situations in
which a Spliterator for an array is needed should use
`https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Arrays.html#spliterator(double[],%20int,%20int)`.

The returned spliterator always reports the characteristics
`SIZED` and `SUBSIZED`. The caller may provide additional
characteristics for the spliterator to report. (For example, if it is
known the array will not be further modified, specify `IMMUTABLE`;
if the array data is considered to have an an encounter order, specify
`ORDERED`). The method `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Arrays.html#spliterator(long[],%20int,%20int)` can
often be used instead, which returns a spliterator that reports
`SIZED`, `SUBSIZED`, `IMMUTABLE`, and `ORDERED`.

##### Parameters

| array | The array, assumed to be unmodified during use |
| fromIndex | The least index (inclusive) to cover |
| toIndex | One past the greatest index to cover |
| additionalCharacteristics | Additional spliterator characteristics of this spliterator's source or elements beyond `SIZED` and `SUBSIZED` which are are always reported |
|---|---|

##### Returns

- A spliterator for an array

##### Throws

| [NullPointerException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/NullPointerException.html) | if the given array is `null` |
| [ArrayIndexOutOfBoundsException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/ArrayIndexOutOfBoundsException.html) | if `fromIndex` is negative, `toIndex` is less than `fromIndex`, or `toIndex` is greater than the array size |
|---|---|

##### See Also

- `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Arrays.html#spliterator(double[],%20int,%20int)`

#### public static [Spliterator.OfInt](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfInt.html)
**spliterator**
([PrimitiveIterator.OfInt](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/PrimitiveIterator.OfInt.html) iterator, long size, int characteristics)

Creates a `Spliterator.OfInt` using a given
`IntStream.IntIterator` as the source of elements, and with a given
initially reported size.

The spliterator is not
*[late-binding](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator#binding)* , inherits
the *fail-fast* properties of the iterator, and implements
`trySplit` to permit limited parallelism.

Traversal of elements should be accomplished through the spliterator.
The behaviour of splitting and traversal is undefined if the iterator is
operated on after the spliterator is returned, or the initially reported
size is not equal to the actual number of elements in the source.

##### Parameters

| iterator | The iterator for the source |
| size | The number of elements in the source, to be reported as initial `estimateSize`. |
| characteristics | Characteristics of this spliterator's source or elements. The characteristics `SIZED` and `SUBSIZED` are additionally reported unless `CONCURRENT` is supplied. |
|---|---|

##### Returns

- A spliterator from an iterator

##### Throws

| [NullPointerException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/NullPointerException.html) | if the given iterator is `null` |
|---|---|

#### public static [Spliterator.OfInt](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfInt.html)
**spliteratorUnknownSize**
([PrimitiveIterator.OfInt](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/PrimitiveIterator.OfInt.html) iterator, int characteristics)

Creates a `Spliterator.OfInt` using a given
`IntStream.IntIterator` as the source of elements, with no initial
size estimate.

The spliterator is not
*[late-binding](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator#binding)* , inherits
the *fail-fast* properties of the iterator, and implements
`trySplit` to permit limited parallelism.

Traversal of elements should be accomplished through the spliterator.
The behaviour of splitting and traversal is undefined if the iterator is
operated on after the spliterator is returned.

##### Parameters

| iterator | The iterator for the source |
| characteristics | Characteristics of this spliterator's source or elements (`SIZED` and `SUBSIZED`, if supplied, are ignored and are not reported.) |
|---|---|

##### Returns

- A spliterator from an iterator

##### Throws

| [NullPointerException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/NullPointerException.html) | if the given iterator is `null` |
|---|---|

#### public static [Spliterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.html)\<T\>
**spliteratorUnknownSize**
([Iterator](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Iterator.html)\<? extends T\> iterator, int characteristics)

Creates a `Spliterator` using a given `Iterator`
as the source of elements, with no initial size estimate.

The spliterator is not
*[late-binding](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator#binding)* , inherits
the *fail-fast* properties of the iterator, and implements
`trySplit` to permit limited parallelism.

Traversal of elements should be accomplished through the spliterator.
The behaviour of splitting and traversal is undefined if the iterator is
operated on after the spliterator is returned.

##### Parameters

| iterator | The iterator for the source |
| characteristics | Characteristics of this spliterator's source or elements (`SIZED` and `SUBSIZED`, if supplied, are ignored and are not reported.) |
|---|---|

##### Returns

- A spliterator from an iterator

##### Throws

| [NullPointerException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/NullPointerException.html) | if the given iterator is `null` |
|---|---|

#### public static [Spliterator.OfDouble](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfDouble.html)
**spliteratorUnknownSize**
([PrimitiveIterator.OfDouble](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/PrimitiveIterator.OfDouble.html) iterator, int characteristics)

Creates a `Spliterator.OfDouble` using a given
`DoubleStream.DoubleIterator` as the source of elements, with no
initial size estimate.

The spliterator is not
*[late-binding](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator#binding)* , inherits
the *fail-fast* properties of the iterator, and implements
`trySplit` to permit limited parallelism.

Traversal of elements should be accomplished through the spliterator.
The behaviour of splitting and traversal is undefined if the iterator is
operated on after the spliterator is returned.

##### Parameters

| iterator | The iterator for the source |
| characteristics | Characteristics of this spliterator's source or elements (`SIZED` and `SUBSIZED`, if supplied, are ignored and are not reported.) |
|---|---|

##### Returns

- A spliterator from an iterator

##### Throws

| [NullPointerException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/NullPointerException.html) | if the given iterator is `null` |
|---|---|

#### public static [Spliterator.OfLong](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator.OfLong.html)
**spliteratorUnknownSize**
([PrimitiveIterator.OfLong](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/PrimitiveIterator.OfLong.html) iterator, int characteristics)

Creates a `Spliterator.OfLong` using a given
`LongStream.LongIterator` as the source of elements, with no
initial size estimate.

The spliterator is not
*[late-binding](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Spliterator#binding)* , inherits
the *fail-fast* properties of the iterator, and implements
`trySplit` to permit limited parallelism.

Traversal of elements should be accomplished through the spliterator.
The behaviour of splitting and traversal is undefined if the iterator is
operated on after the spliterator is returned.

##### Parameters

| iterator | The iterator for the source |
| characteristics | Characteristics of this spliterator's source or elements (`SIZED` and `SUBSIZED`, if supplied, are ignored and are not reported.) |
|---|---|

##### Returns

- A spliterator from an iterator

##### Throws

| [NullPointerException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/NullPointerException.html) | if the given iterator is `null` |
|---|---|