## Uses of Interface
java.util.Spliterator

- Packages that use Spliterator
  Package | Description
  --- | ---
  java.lang |
  java.util |
  java.util.stream | Classes to support functional-style operations on streams of elements, such as map-reduce transformations on collections.

- - ### Uses of Spliterator in java.lang

    Methods in java.lang that return Spliterator
    Modifier and Type | Method and Description
    --- | ---
    `default Spliterator<T>` | Iterable.`spliterator()` Creates a `Spliterator` over the elements described by this `Iterable`.

  - ### Uses of Spliterator in java.util

    Subinterfaces of Spliterator in java.util
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `Spliterator.OfDouble` A Spliterator specialized for `double` values.
    `static interface` | `Spliterator.OfInt` A Spliterator specialized for `int` values.
    `static interface` | `Spliterator.OfLong` A Spliterator specialized for `long` values.
    `static interface` | `Spliterator.OfPrimitive<T,T_CONS,T_SPLITR extends Spliterator.OfPrimitive<T,T_CONS,T_SPLITR>>` A Spliterator specialized for primitive values.

    Classes in java.util that implement Spliterator
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `Spliterators.AbstractDoubleSpliterator` An abstract `Spliterator.OfDouble` that implements `trySplit` to permit limited parallelism.
    `static class` | `Spliterators.AbstractIntSpliterator` An abstract `Spliterator.OfInt` that implements `trySplit` to permit limited parallelism.
    `static class` | `Spliterators.AbstractLongSpliterator` An abstract `Spliterator.OfLong` that implements `trySplit` to permit limited parallelism.
    `static class` | `Spliterators.AbstractSpliterator<T>` An abstract `Spliterator` that implements `trySplit` to permit limited parallelism.

    Methods in java.util that return Spliterator
    Modifier and Type | Method and Description
    --- | ---
    `static <T> Spliterator<T>` | Spliterators.`emptySpliterator()` Creates an empty `Spliterator`
    `default Spliterator<E>` | List.`spliterator()` Creates a `Spliterator` over the elements in this list.
    `default Spliterator<E>` | Collection.`spliterator()` Creates a `Spliterator` over the elements in this collection.
    `static <T> Spliterator<T>` | Spliterators.`spliterator(Collection<? extends T> c, int characteristics)` Creates a `Spliterator` using the given collection's `Collection.iterator()` as the source of elements, and reporting its `Collection.size()` as its initial size.
    `static <T> Spliterator<T>` | Spliterators.`spliterator(Iterator<? 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 <T> Spliterator<T>` | Spliterators.`spliterator(Object[] array, int additionalCharacteristics)` Creates a `Spliterator` covering the elements of a given array, using a customized set of spliterator characteristics.
    `static <T> Spliterator<T>` | Spliterators.`spliterator(Object[] 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 <T> Spliterator<T>` | Arrays.`spliterator(T[] array)` Returns a `Spliterator` covering all of the specified array.
    `static <T> Spliterator<T>` | Arrays.`spliterator(T[] array, int startInclusive, int endExclusive)` Returns a `Spliterator` covering the specified range of the specified array.
    `static <T> Spliterator<T>` | Spliterators.`spliteratorUnknownSize(Iterator<? extends T> iterator, int characteristics)` Creates a `Spliterator` using a given `Iterator` as the source of elements, with no initial size estimate.
    `Spliterator<T>` | Spliterators.AbstractSpliterator.`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.
    `Spliterator<T>` | Spliterator.`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.

    Methods in java.util with parameters of type Spliterator
    Modifier and Type | Method and Description
    --- | ---
    `static <T> Iterator<T>` | Spliterators.`iterator(Spliterator<? extends T> spliterator)` Creates an `Iterator` from a `Spliterator`.

  - ### Uses of Spliterator in java.util.stream

    Methods in java.util.stream that return Spliterator
    Modifier and Type | Method and Description
    --- | ---
    `Spliterator<T>` | BaseStream.`spliterator()` Returns a spliterator for the elements of this stream.

    Methods in java.util.stream with parameters of type Spliterator
    Modifier and Type | Method and Description
    --- | ---
    `static <T> Stream<T>` | StreamSupport.`stream(Spliterator<T> spliterator, boolean parallel)` Creates a new sequential or parallel `Stream` from a `Spliterator`.

    Method parameters in java.util.stream with type arguments of type Spliterator
    Modifier and Type | Method and Description
    --- | ---
    `static <T> Stream<T>` | StreamSupport.`stream(Supplier<? extends Spliterator<T>> supplier, int characteristics, boolean parallel)` Creates a new sequential or parallel `Stream` from a `Supplier` of `Spliterator`.

Copyright © 2025 API Design. All Rights Reserved.