AI-generated Key Takeaways
- 
          The Spliteratorsclass provides static utilities for creating, operating on, and converting spliterators for sequential and parallel processing.
- 
          It offers methods for creating spliterators from iterators, collections, and arrays, supporting both object and primitive data types. 
- 
          Created spliterators can have characteristics like SIZED,SUBSIZED,IMMUTABLE, andORDEREDreflecting their properties.
- 
          The class includes nested abstract classes that simplify custom spliterator implementation by providing base functionalities. 
- 
          Spliteratorsis mainly used for building custom stream implementations or directly manipulating spliterators for advanced stream processing.
Static classes and methods for operating on or creating instances of
 Spliterator and its primitive specializations
 Spliterator.OfInt, Spliterator.OfLong, and
 Spliterator.OfDouble.
See Also
Nested Class Summary
| class | Spliterators.AbstractDoubleSpliterator | An abstract Spliterator.OfDoublethat implementstrySplitto permit limited parallelism. | |
| class | Spliterators.AbstractIntSpliterator | An abstract Spliterator.OfIntthat implementstrySplitto
 permit limited parallelism. | |
| class | Spliterators.AbstractLongSpliterator | An abstract Spliterator.OfLongthat implementstrySplitto permit limited parallelism. | |
| class | Spliterators.AbstractSpliterator<T> | An abstract Spliteratorthat implementstrySplitto
 permit limited parallelism. | |
Public Method Summary
| static Spliterator.OfDouble | 
                emptyDoubleSpliterator()
                
                 Creates an empty  Spliterator.OfDoubleThe empty spliterator reports  | 
| static Spliterator.OfInt | 
                emptyIntSpliterator()
                
                 Creates an empty  Spliterator.OfIntThe empty spliterator reports  | 
| static Spliterator.OfLong | 
                emptyLongSpliterator()
                
                 Creates an empty  Spliterator.OfLongThe empty spliterator reports  | 
| static <T> Spliterator<T> | 
                emptySpliterator()
                
                 Creates an empty  SpliteratorThe empty spliterator reports  | 
| static PrimitiveIterator.OfDouble | 
                iterator(Spliterator.OfDouble spliterator)
                
                 Creates an  PrimitiveIterator.OfDoublefrom aSpliterator.OfDouble. | 
| static PrimitiveIterator.OfInt | 
                iterator(Spliterator.OfInt spliterator)
                
                 Creates an  PrimitiveIterator.OfIntfrom aSpliterator.OfInt. | 
| static PrimitiveIterator.OfLong | 
                iterator(Spliterator.OfLong spliterator)
                
                 Creates an  PrimitiveIterator.OfLongfrom aSpliterator.OfLong. | 
| static <T> Iterator<T> | |
| static <T> Spliterator<T> | 
                spliterator(Iterator<? extends T> iterator, long size, int characteristics)
                
                 Creates a  Spliteratorusing a givenIteratoras the source of elements, and with a given initially reported size. | 
| static Spliterator.OfLong | 
                spliterator(long[] array, int additionalCharacteristics)
                
                 Creates a  Spliterator.OfLongcovering the elements of a given array,
 using a customized set of spliterator characteristics. | 
| static <T> Spliterator<T> | 
                spliterator(Object[] array, int fromIndex, int toIndex, int additionalCharacteristics)
                
                 Creates a  Spliteratorcovering a range of elements of a given
 array, using a customized set of spliterator characteristics. | 
| static Spliterator.OfLong | 
                spliterator(long[] array, int fromIndex, int toIndex, int additionalCharacteristics)
                
                 Creates a  Spliterator.OfLongcovering a range of elements of a
 given array, using a customized set of spliterator characteristics. | 
| static Spliterator.OfLong | 
                spliterator(PrimitiveIterator.OfLong iterator, long size, int characteristics)
                
                 Creates a  Spliterator.OfLongusing a givenLongStream.LongIteratoras the source of elements, and with a
 given initially reported size. | 
| static Spliterator.OfDouble | 
                spliterator(PrimitiveIterator.OfDouble iterator, long size, int characteristics)
                
                 Creates a  Spliterator.OfDoubleusing a givenDoubleStream.DoubleIteratoras the source of elements, and with a
 given initially reported size. | 
| static Spliterator.OfDouble | 
                spliterator(double[] array, int additionalCharacteristics)
                
                 Creates a  Spliterator.OfDoublecovering the elements of a given array,
 using a customized set of spliterator characteristics. | 
| static Spliterator.OfInt | 
                spliterator(int[] array, int fromIndex, int toIndex, int additionalCharacteristics)
                
                 Creates a  Spliterator.OfIntcovering a range of elements of a
 given array, using a customized set of spliterator characteristics. | 
| static <T> Spliterator<T> | 
                spliterator(Collection<? extends T> c, int characteristics)
                
                 Creates a  Spliteratorusing the given collection'sCollection.iterator()as the source of elements, and
 reporting itsCollection.size()as its initial size. | 
| static <T> Spliterator<T> | 
                spliterator(Object[] array, int additionalCharacteristics)
                
                 Creates a  Spliteratorcovering the elements of a given array,
 using a customized set of spliterator characteristics. | 
| static Spliterator.OfInt | 
                spliterator(int[] array, int additionalCharacteristics)
                
                 Creates a  Spliterator.OfIntcovering the elements of a given array,
 using a customized set of spliterator characteristics. | 
| static Spliterator.OfDouble | 
                spliterator(double[] array, int fromIndex, int toIndex, int additionalCharacteristics)
                
                 Creates a  Spliterator.OfDoublecovering a range of elements of a
 given array, using a customized set of spliterator characteristics. | 
| static Spliterator.OfInt | 
                spliterator(PrimitiveIterator.OfInt iterator, long size, int characteristics)
                
                 Creates a  Spliterator.OfIntusing a givenIntStream.IntIteratoras the source of elements, and with a given
 initially reported size. | 
| static Spliterator.OfInt | 
                spliteratorUnknownSize(PrimitiveIterator.OfInt iterator, int characteristics)
                
                 Creates a  Spliterator.OfIntusing a givenIntStream.IntIteratoras the source of elements, with no initial
 size estimate. | 
| static <T> Spliterator<T> | 
                spliteratorUnknownSize(Iterator<? extends T> iterator, int characteristics)
                
                 Creates a  Spliteratorusing a givenIteratoras the source of elements, with no initial size estimate. | 
| static Spliterator.OfDouble | 
                spliteratorUnknownSize(PrimitiveIterator.OfDouble iterator, int characteristics)
                
                 Creates a  Spliterator.OfDoubleusing a givenDoubleStream.DoubleIteratoras the source of elements, with no
 initial size estimate. | 
| static Spliterator.OfLong | 
                spliteratorUnknownSize(PrimitiveIterator.OfLong iterator, int characteristics)
                
                 Creates a  Spliterator.OfLongusing a givenLongStream.LongIteratoras the source of elements, with no
 initial size estimate. | 
Inherited Method Summary
Public Methods
public static Spliterator.OfDouble emptyDoubleSpliterator ()
Creates an empty Spliterator.OfDouble
 
The empty spliterator reports Spliterator.SIZED and
 Spliterator.SUBSIZED.  Calls to
 Spliterator.trySplit() always return null.
Returns
- An empty spliterator
public static Spliterator.OfInt emptyIntSpliterator ()
Creates an empty Spliterator.OfInt
 
The empty spliterator reports Spliterator.SIZED and
 Spliterator.SUBSIZED.  Calls to
 Spliterator.trySplit() always return null.
Returns
- An empty spliterator
public static Spliterator.OfLong emptyLongSpliterator ()
Creates an empty Spliterator.OfLong
 
The empty spliterator reports Spliterator.SIZED and
 Spliterator.SUBSIZED.  Calls to
 Spliterator.trySplit() always return null.
Returns
- An empty spliterator
public static Spliterator<T> emptySpliterator ()
Creates an empty Spliterator
 
The empty spliterator reports Spliterator.SIZED and
 Spliterator.SUBSIZED.  Calls to
 Spliterator.trySplit() always return null.
Returns
- An empty spliterator
public static PrimitiveIterator.OfDouble iterator (Spliterator.OfDouble 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 | if the given spliterator is null | 
|---|
public static PrimitiveIterator.OfInt iterator (Spliterator.OfInt 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 | if the given spliterator is null | 
|---|
public static PrimitiveIterator.OfLong iterator (Spliterator.OfLong 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 | if the given spliterator is null | 
|---|
public static Iterator<T> iterator (Spliterator<? 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 | if the given spliterator is null | 
|---|
public static Spliterator<T> 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.
 
The spliterator is not
 late-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 SIZEDandSUBSIZEDare additionally reported unlessCONCURRENTis supplied. | 
Returns
- A spliterator from an iterator
Throws
| NullPointerException | if the given iterator is null | 
|---|
public static Spliterator.OfLong 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
 Arrays.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 SIZEDandSUBSIZEDwhich are are always reported | 
Returns
- A spliterator for an array
Throws
| NullPointerException | if the given array is null | 
|---|
See Also
public static Spliterator<T> 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.
 
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
 Arrays.spliterator(Object[]).
 
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 SIZEDandSUBSIZEDwhich are are always reported | 
Returns
- A spliterator for an array
Throws
| NullPointerException | if the given array is null | 
|---|---|
| ArrayIndexOutOfBoundsException | if fromIndexis negative,toIndexis less thanfromIndex, ortoIndexis greater than the array size | 
public static Spliterator.OfLong 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
 Arrays.spliterator(long[], int, int).
 
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 Arrays.spliterator(long[], int, int) 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 SIZEDandSUBSIZEDwhich are are always reported | 
Returns
- A spliterator for an array
Throws
| NullPointerException | if the given array is null | 
|---|---|
| ArrayIndexOutOfBoundsException | if fromIndexis negative,toIndexis less thanfromIndex, ortoIndexis greater than the array size | 
See Also
public static Spliterator.OfLong spliterator (PrimitiveIterator.OfLong 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, 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 SIZEDandSUBSIZEDare additionally reported unlessCONCURRENTis supplied. | 
Returns
- A spliterator from an iterator
Throws
| NullPointerException | if the given iterator is null | 
|---|
public static Spliterator.OfDouble spliterator (PrimitiveIterator.OfDouble 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, 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 SIZEDandSUBSIZEDare additionally reported unlessCONCURRENTis supplied. | 
Returns
- A spliterator from an iterator
Throws
| NullPointerException | if the given iterator is null | 
|---|
public static Spliterator.OfDouble 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
 Arrays.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 SIZEDandSUBSIZEDwhich are are always reported | 
Returns
- A spliterator for an array
Throws
| NullPointerException | if the given array is null | 
|---|
See Also
public static Spliterator.OfInt 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
 Arrays.spliterator(int[], int, 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 | 
|---|---|
| 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 SIZEDandSUBSIZEDwhich are are always reported | 
Returns
- A spliterator for an array
Throws
| NullPointerException | if the given array is null | 
|---|---|
| ArrayIndexOutOfBoundsException | if fromIndexis negative,toIndexis less thanfromIndex, ortoIndexis greater than the array size | 
See Also
public static Spliterator<T> 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.
 
The spliterator is
 late-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 SIZEDandSUBSIZEDare additionally reported unlessCONCURRENTis supplied. | 
Returns
- A spliterator from an iterator
Throws
| NullPointerException | if the given collection is null | 
|---|
public static Spliterator<T> spliterator (Object[] 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
 Arrays.spliterator(Object[]).
 
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 SIZEDandSUBSIZEDwhich are are always reported | 
Returns
- A spliterator for an array
Throws
| NullPointerException | if the given array is null | 
|---|
See Also
public static Spliterator.OfInt 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
 Arrays.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 SIZEDandSUBSIZEDwhich are are always reported | 
Returns
- A spliterator for an array
Throws
| NullPointerException | if the given array is null | 
|---|
See Also
public static Spliterator.OfDouble 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
 Arrays.spliterator(double[], int, int).
 
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 Arrays.spliterator(long[], int, int) 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 SIZEDandSUBSIZEDwhich are are always reported | 
Returns
- A spliterator for an array
Throws
| NullPointerException | if the given array is null | 
|---|---|
| ArrayIndexOutOfBoundsException | if fromIndexis negative,toIndexis less thanfromIndex, ortoIndexis greater than the array size | 
public static Spliterator.OfInt spliterator (PrimitiveIterator.OfInt 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, 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 SIZEDandSUBSIZEDare additionally reported unlessCONCURRENTis supplied. | 
Returns
- A spliterator from an iterator
Throws
| NullPointerException | if the given iterator is null | 
|---|
public static Spliterator.OfInt spliteratorUnknownSize (PrimitiveIterator.OfInt 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, 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 ( SIZEDandSUBSIZED, if supplied, are
        ignored and are not reported.) | 
Returns
- A spliterator from an iterator
Throws
| NullPointerException | if the given iterator is null | 
|---|
public static Spliterator<T> spliteratorUnknownSize (Iterator<? 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, 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 ( SIZEDandSUBSIZED, if supplied, are
        ignored and are not reported.) | 
Returns
- A spliterator from an iterator
Throws
| NullPointerException | if the given iterator is null | 
|---|
public static Spliterator.OfDouble spliteratorUnknownSize (PrimitiveIterator.OfDouble 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, 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 ( SIZEDandSUBSIZED, if supplied, are
        ignored and are not reported.) | 
Returns
- A spliterator from an iterator
Throws
| NullPointerException | if the given iterator is null | 
|---|
public static Spliterator.OfLong spliteratorUnknownSize (PrimitiveIterator.OfLong 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, 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 ( SIZEDandSUBSIZED, if supplied, are
        ignored and are not reported.) | 
Returns
- A spliterator from an iterator
Throws
| NullPointerException | if the given iterator is null | 
|---|
