模块 java.base
 java.util

类 Spliterators

java.lang.Object
java.util.Spliterators

public final class Spliterators extends Object
用于操作或创建 Spliterator 及其原始特化 Spliterator.OfInt Spliterator.OfLong Spliterator.OfDouble 实例的静态类和方法。
自从:
1.8
参见:
  • 方法详情

    • emptySpliterator

      public static <T> Spliterator <T> emptySpliterator()
      创建一个空的 Spliterator

      空拆分器报告 Spliterator.SIZED Spliterator.SUBSIZED 。调用 Spliterator.trySplit() 总是返回 null

      类型参数:
      T - 元素类型
      返回:
      一个空的分离器
    • emptyIntSpliterator

      public static Spliterator.OfInt  emptyIntSpliterator()
      创建一个空的 Spliterator.OfInt

      空拆分器报告 Spliterator.SIZED Spliterator.SUBSIZED 。调用 Spliterator.trySplit() 总是返回 null

      返回:
      一个空的分离器
    • emptyLongSpliterator

      public static Spliterator.OfLong  emptyLongSpliterator()
      创建一个空的 Spliterator.OfLong

      空拆分器报告 Spliterator.SIZED Spliterator.SUBSIZED 。调用 Spliterator.trySplit() 总是返回 null

      返回:
      一个空的分离器
    • emptyDoubleSpliterator

      public static Spliterator.OfDouble  emptyDoubleSpliterator()
      创建一个空的 Spliterator.OfDouble

      空拆分器报告 Spliterator.SIZED Spliterator.SUBSIZED 。调用 Spliterator.trySplit() 总是返回 null

      返回:
      一个空的分离器
    • spliterator

      public static <T> Spliterator <T> spliterator(Object [] array, int additionalCharacteristics)
      创建一个 Spliterator 覆盖给定数组的元素,使用一组自定义的拆分器特征。

      提供此方法是为了方便 Spliterator 的实现,Spliterator 将其部分元素存储在数组中,并且需要对 Spliterator 特性进行精细控制。大多数其他需要数组 Spliterator 的情况应该使用 Arrays.spliterator(Object[])

      返回的分离器总是报告特征 SIZEDSUBSIZED 。调用者可以提供额外的特征供拆分器报告;额外指定 IMMUTABLEORDERED 是很常见的。

      类型参数:
      T - 元素类型
      参数:
      array - 数组,假定在使用期间未修改
      additionalCharacteristics - 此拆分器源的附加拆分器特征或始终报告的 SIZEDSUBSIZED 之外的元素
      返回:
      数组的拆分器
      抛出:
      NullPointerException - 如果给定的数组是 null
      参见:
    • spliterator

      public static <T> Spliterator <T> spliterator(Object [] array, int fromIndex, int toIndex, int additionalCharacteristics)
      创建一个 Spliterator 覆盖给定数组的一系列元素,使用一组自定义的拆分器特征。

      提供此方法是为了方便 Spliterator 的实现,Spliterator 将其部分元素存储在数组中,并且需要对 Spliterator 特性进行精细控制。大多数其他需要数组 Spliterator 的情况应该使用 Arrays.spliterator(Object[])

      返回的分离器总是报告特征 SIZEDSUBSIZED 。调用者可以提供额外的特征供拆分器报告;额外指定 IMMUTABLEORDERED 是很常见的。

      类型参数:
      T - 元素类型
      参数:
      array - 数组,假定在使用期间未修改
      fromIndex - 覆盖的最少索引(包括)
      toIndex - 过去要涵盖的最大索引
      additionalCharacteristics - 此拆分器源的附加拆分器特征或始终报告的 SIZEDSUBSIZED 之外的元素
      返回:
      数组的拆分器
      抛出:
      NullPointerException - 如果给定的数组是 null
      ArrayIndexOutOfBoundsException - 如果 fromIndex 为负,则 toIndex 小于 fromIndex,或者 toIndex 大于数组大小
      参见:
    • spliterator

      public static Spliterator.OfInt  spliterator(int[] array, int additionalCharacteristics)
      创建一个 Spliterator.OfInt 覆盖给定数组的元素,使用一组自定义的拆分器特征。

      提供此方法是为了方便 Spliterator 的实现,Spliterator 将其部分元素存储在数组中,并且需要对 Spliterator 特性进行精细控制。大多数其他需要数组 Spliterator 的情况应该使用 Arrays.spliterator(int[])

      返回的分离器总是报告特征 SIZEDSUBSIZED 。调用者可以提供额外的特征供拆分器报告;额外指定 IMMUTABLEORDERED 是很常见的。

      参数:
      array - 数组,假定在使用期间未修改
      additionalCharacteristics - 此拆分器源的附加拆分器特征或始终报告的 SIZEDSUBSIZED 之外的元素
      返回:
      数组的拆分器
      抛出:
      NullPointerException - 如果给定的数组是 null
      参见:
    • spliterator

      public static Spliterator.OfInt  spliterator(int[] array, int fromIndex, int toIndex, int additionalCharacteristics)
      创建一个 Spliterator.OfInt 覆盖给定数组的一系列元素,使用一组自定义的拆分器特征。

      提供此方法是为了方便 Spliterator 的实现,Spliterator 将其部分元素存储在数组中,并且需要对 Spliterator 特性进行精细控制。大多数其他需要数组 Spliterator 的情况应该使用 Arrays.spliterator(int[], int, int)

      返回的分离器总是报告特征 SIZEDSUBSIZED 。调用者可以提供额外的特征供拆分器报告;额外指定 IMMUTABLEORDERED 是很常见的。

      参数:
      array - 数组,假定在使用期间未修改
      fromIndex - 覆盖的最少索引(包括)
      toIndex - 过去要涵盖的最大索引
      additionalCharacteristics - 此拆分器源的附加拆分器特征或始终报告的 SIZEDSUBSIZED 之外的元素
      返回:
      数组的拆分器
      抛出:
      NullPointerException - 如果给定的数组是 null
      ArrayIndexOutOfBoundsException - 如果 fromIndex 为负,则 toIndex 小于 fromIndex,或者 toIndex 大于数组大小
      参见:
    • spliterator

      public static Spliterator.OfLong  spliterator(long[] array, int additionalCharacteristics)
      创建一个 Spliterator.OfLong 覆盖给定数组的元素,使用一组自定义的拆分器特征。

      提供此方法是为了方便 Spliterator 的实现,Spliterator 将其部分元素存储在数组中,并且需要对 Spliterator 特性进行精细控制。大多数其他需要数组 Spliterator 的情况应该使用 Arrays.spliterator(long[])

      返回的分离器总是报告特征 SIZEDSUBSIZED 。调用者可以提供额外的特征供拆分器报告;额外指定 IMMUTABLEORDERED 是很常见的。

      参数:
      array - 数组,假定在使用期间未修改
      additionalCharacteristics - 此拆分器源的附加拆分器特征或始终报告的 SIZEDSUBSIZED 之外的元素
      返回:
      数组的拆分器
      抛出:
      NullPointerException - 如果给定的数组是 null
      参见:
    • spliterator

      public static Spliterator.OfLong  spliterator(long[] array, int fromIndex, int toIndex, int additionalCharacteristics)
      创建一个 Spliterator.OfLong 覆盖给定数组的一系列元素,使用一组自定义的拆分器特征。

      提供此方法是为了方便 Spliterator 的实现,Spliterator 将其部分元素存储在数组中,并且需要对 Spliterator 特性进行精细控制。大多数其他需要数组 Spliterator 的情况应该使用 Arrays.spliterator(long[], int, int)

      返回的分离器总是报告特征 SIZEDSUBSIZED 。调用者可以提供额外的特征供拆分器报告。 (例如,如果已知数组不会被进一步修改,则指定 IMMUTABLE ;如果认为数组数据具有相遇顺序,则指定 ORDERED )。通常可以改用方法 Arrays.spliterator(long[], int, int) ,它返回报告 SIZEDSUBSIZEDIMMUTABLEORDERED 的拆分器。

      参数:
      array - 数组,假定在使用期间未修改
      fromIndex - 覆盖的最少索引(包括)
      toIndex - 过去要涵盖的最大索引
      additionalCharacteristics - 此拆分器源的附加拆分器特征或始终报告的 SIZEDSUBSIZED 之外的元素
      返回:
      数组的拆分器
      抛出:
      NullPointerException - 如果给定的数组是 null
      ArrayIndexOutOfBoundsException - 如果 fromIndex 为负,则 toIndex 小于 fromIndex,或者 toIndex 大于数组大小
      参见:
    • spliterator

      public static Spliterator.OfDouble  spliterator(double[] array, int additionalCharacteristics)
      创建一个 Spliterator.OfDouble 覆盖给定数组的元素,使用一组自定义的拆分器特征。

      提供此方法是为了方便 Spliterator 的实现,Spliterator 将其部分元素存储在数组中,并且需要对 Spliterator 特性进行精细控制。大多数其他需要数组 Spliterator 的情况应该使用 Arrays.spliterator(double[])

      返回的分离器总是报告特征 SIZEDSUBSIZED 。调用者可以提供额外的特征供拆分器报告;额外指定 IMMUTABLEORDERED 是很常见的。

      参数:
      array - 数组,假定在使用期间未修改
      additionalCharacteristics - 此拆分器源的附加拆分器特征或始终报告的 SIZEDSUBSIZED 之外的元素
      返回:
      数组的拆分器
      抛出:
      NullPointerException - 如果给定的数组是 null
      参见:
    • spliterator

      public static Spliterator.OfDouble  spliterator(double[] array, int fromIndex, int toIndex, int additionalCharacteristics)
      创建一个 Spliterator.OfDouble 覆盖给定数组的一系列元素,使用一组自定义的拆分器特征。

      提供此方法是为了方便 Spliterator 的实现,Spliterator 将其部分元素存储在数组中,并且需要对 Spliterator 特性进行精细控制。大多数其他需要数组 Spliterator 的情况应该使用 Arrays.spliterator(double[], int, int)

      返回的分离器总是报告特征 SIZEDSUBSIZED 。调用者可以提供额外的特征供拆分器报告。 (例如,如果已知数组不会被进一步修改,则指定 IMMUTABLE ;如果认为数组数据具有相遇顺序,则指定 ORDERED )。通常可以改用方法 Arrays.spliterator(long[], int, int) ,它返回报告 SIZEDSUBSIZEDIMMUTABLEORDERED 的拆分器。

      参数:
      array - 数组,假定在使用期间未修改
      fromIndex - 覆盖的最少索引(包括)
      toIndex - 过去要涵盖的最大索引
      additionalCharacteristics - 此拆分器源的附加拆分器特征或始终报告的 SIZEDSUBSIZED 之外的元素
      返回:
      数组的拆分器
      抛出:
      NullPointerException - 如果给定的数组是 null
      ArrayIndexOutOfBoundsException - 如果 fromIndex 为负,则 toIndex 小于 fromIndex,或者 toIndex 大于数组大小
      参见:
    • spliterator

      public static <T> Spliterator <T> spliterator(Collection <? extends T> c, int characteristics)
      使用给定集合的 Collection.iterator() 作为元素源创建一个 Spliterator,并将其 Collection.size() 报告为其初始大小。

      拆分器是 late-binding ,继承了集合迭代器的 fail-fast 属性,并实现了 trySplit 以允许有限的并行性。

      类型参数:
      T - 元素类型
      参数:
      c - 集合
      characteristics - 此分离器的源或元素的特征。除非提供 CONCURRENT,否则会另外报告特性 SIZEDSUBSIZED
      返回:
      来自迭代器的拆分器
      抛出:
      NullPointerException - 如果给定的集合是 null
    • spliterator

      public static <T> Spliterator <T> spliterator(Iterator <? extends T> iterator, long size, int characteristics)
      使用给定的 Iterator 作为元素源并使用给定的初始报告大小创建一个 Spliterator

      拆分器不是 late-binding ,它继承了迭代器的 fail-fast 属性,并实现了 trySplit 以允许有限的并行性。

      元素的遍历应该通过spliterator来完成。如果在返回拆分器后对迭代器进行操作,或者最初报告的大小不等于源中的实际元素数,则拆分和遍历的行为是未定义的。

      类型参数:
      T - 元素类型
      参数:
      iterator - 源的迭代器
      size - 源中的元素数,将报告为初始 estimateSize
      characteristics - 此分离器的源或元素的特征。除非提供 CONCURRENT,否则会另外报告特性 SIZEDSUBSIZED
      返回:
      来自迭代器的拆分器
      抛出:
      NullPointerException - 如果给定的迭代器是 null
    • spliteratorUnknownSize

      public static <T> Spliterator <T> spliteratorUnknownSize(Iterator <? extends T> iterator, int characteristics)
      使用给定的 Iterator 作为元素源创建一个 Spliterator,没有初始大小估计。

      拆分器不是 late-binding ,它继承了迭代器的 fail-fast 属性,并实现了 trySplit 以允许有限的并行性。

      元素的遍历应该通过spliterator来完成。如果在返回拆分器后对迭代器进行操作,则拆分和遍历的行为是未定义的。

      类型参数:
      T - 元素类型
      参数:
      iterator - 源的迭代器
      characteristics - 此拆分器的源或元素的特征(SIZEDSUBSIZED,如果提供,将被忽略并且不被报告。)
      返回:
      来自迭代器的拆分器
      抛出:
      NullPointerException - 如果给定的迭代器是 null
    • spliterator

      public static Spliterator.OfInt  spliterator(PrimitiveIterator.OfInt  iterator, long size, int characteristics)
      使用给定的 IntStream.IntIterator 作为元素源并使用给定的初始报告大小创建一个 Spliterator.OfInt

      拆分器不是 late-binding ,它继承了迭代器的 fail-fast 属性,并实现了 trySplit 以允许有限的并行性。

      元素的遍历应该通过spliterator来完成。如果在返回拆分器后对迭代器进行操作,或者最初报告的大小不等于源中的实际元素数,则拆分和遍历的行为是未定义的。

      参数:
      iterator - 源的迭代器
      size - 源中的元素数,将报告为初始 estimateSize
      characteristics - 此分离器的源或元素的特征。除非提供 CONCURRENT,否则会另外报告特性 SIZEDSUBSIZED
      返回:
      来自迭代器的拆分器
      抛出:
      NullPointerException - 如果给定的迭代器是 null
    • spliteratorUnknownSize

      public static Spliterator.OfInt  spliteratorUnknownSize(PrimitiveIterator.OfInt  iterator, int characteristics)
      使用给定的 IntStream.IntIterator 作为元素源创建一个 Spliterator.OfInt,没有初始大小估计。

      拆分器不是 late-binding ,它继承了迭代器的 fail-fast 属性,并实现了 trySplit 以允许有限的并行性。

      元素的遍历应该通过spliterator来完成。如果在返回拆分器后对迭代器进行操作,则拆分和遍历的行为是未定义的。

      参数:
      iterator - 源的迭代器
      characteristics - 此拆分器的源或元素的特征(SIZEDSUBSIZED,如果提供,将被忽略并且不被报告。)
      返回:
      来自迭代器的拆分器
      抛出:
      NullPointerException - 如果给定的迭代器是 null
    • spliterator

      public static Spliterator.OfLong  spliterator(PrimitiveIterator.OfLong  iterator, long size, int characteristics)
      使用给定的 LongStream.LongIterator 作为元素源并使用给定的初始报告大小创建一个 Spliterator.OfLong

      拆分器不是 late-binding ,它继承了迭代器的 fail-fast 属性,并实现了 trySplit 以允许有限的并行性。

      元素的遍历应该通过spliterator来完成。如果在返回拆分器后对迭代器进行操作,或者最初报告的大小不等于源中的实际元素数,则拆分和遍历的行为是未定义的。

      参数:
      iterator - 源的迭代器
      size - 源中的元素数,将报告为初始 estimateSize
      characteristics - 此分离器的源或元素的特征。除非提供 CONCURRENT,否则会另外报告特性 SIZEDSUBSIZED
      返回:
      来自迭代器的拆分器
      抛出:
      NullPointerException - 如果给定的迭代器是 null
    • spliteratorUnknownSize

      public static Spliterator.OfLong  spliteratorUnknownSize(PrimitiveIterator.OfLong  iterator, int characteristics)
      使用给定的 LongStream.LongIterator 作为元素源创建一个 Spliterator.OfLong,没有初始大小估计。

      拆分器不是 late-binding ,它继承了迭代器的 fail-fast 属性,并实现了 trySplit 以允许有限的并行性。

      元素的遍历应该通过spliterator来完成。如果在返回拆分器后对迭代器进行操作,则拆分和遍历的行为是未定义的。

      参数:
      iterator - 源的迭代器
      characteristics - 此拆分器的源或元素的特征(SIZEDSUBSIZED,如果提供,将被忽略并且不被报告。)
      返回:
      来自迭代器的拆分器
      抛出:
      NullPointerException - 如果给定的迭代器是 null
    • spliterator

      public static Spliterator.OfDouble  spliterator(PrimitiveIterator.OfDouble  iterator, long size, int characteristics)
      使用给定的 DoubleStream.DoubleIterator 作为元素源并使用给定的初始报告大小创建一个 Spliterator.OfDouble

      拆分器不是 late-binding ,它继承了迭代器的 fail-fast 属性,并实现了 trySplit 以允许有限的并行性。

      元素的遍历应该通过spliterator来完成。如果在返回拆分器后对迭代器进行操作,或者最初报告的大小不等于源中的实际元素数,则拆分和遍历的行为是未定义的。

      参数:
      iterator - 源的迭代器
      size - 源中的元素数,将报告为初始 estimateSize
      characteristics - 此分离器的源或元素的特征。除非提供 CONCURRENT,否则会另外报告特性 SIZEDSUBSIZED
      返回:
      来自迭代器的拆分器
      抛出:
      NullPointerException - 如果给定的迭代器是 null
    • spliteratorUnknownSize

      public static Spliterator.OfDouble  spliteratorUnknownSize(PrimitiveIterator.OfDouble  iterator, int characteristics)
      使用给定的 DoubleStream.DoubleIterator 作为元素源创建一个 Spliterator.OfDouble,没有初始大小估计。

      拆分器不是 late-binding ,它继承了迭代器的 fail-fast 属性,并实现了 trySplit 以允许有限的并行性。

      元素的遍历应该通过spliterator来完成。如果在返回拆分器后对迭代器进行操作,则拆分和遍历的行为是未定义的。

      参数:
      iterator - 源的迭代器
      characteristics - 此拆分器的源或元素的特征(SIZEDSUBSIZED,如果提供,将被忽略并且不被报告。)
      返回:
      来自迭代器的拆分器
      抛出:
      NullPointerException - 如果给定的迭代器是 null
    • iterator

      public static <T> Iterator <T> iterator(Spliterator <? extends T> spliterator)
      Spliterator 创建一个 Iterator

      元素的遍历应该通过迭代器来完成。如果在返回迭代器之后操作拆分器,则遍历行为是未定义的。

      类型参数:
      T - 元素类型
      参数:
      spliterator - 分离器
      返回:
      迭代器
      抛出:
      NullPointerException - 如果给定的拆分器是 null
    • iterator

      public static PrimitiveIterator.OfInt  iterator(Spliterator.OfInt  spliterator)
      Spliterator.OfInt 创建一个 PrimitiveIterator.OfInt

      元素的遍历应该通过迭代器来完成。如果在返回迭代器之后操作拆分器,则遍历行为是未定义的。

      参数:
      spliterator - 分离器
      返回:
      迭代器
      抛出:
      NullPointerException - 如果给定的拆分器是 null
    • iterator

      public static PrimitiveIterator.OfLong  iterator(Spliterator.OfLong  spliterator)
      Spliterator.OfLong 创建一个 PrimitiveIterator.OfLong

      元素的遍历应该通过迭代器来完成。如果在返回迭代器之后操作拆分器,则遍历行为是未定义的。

      参数:
      spliterator - 分离器
      返回:
      迭代器
      抛出:
      NullPointerException - 如果给定的拆分器是 null
    • iterator

      public static PrimitiveIterator.OfDouble  iterator(Spliterator.OfDouble  spliterator)
      Spliterator.OfDouble 创建一个 PrimitiveIterator.OfDouble

      元素的遍历应该通过迭代器来完成。如果在返回迭代器之后操作拆分器,则遍历行为是未定义的。

      参数:
      spliterator - 分离器
      返回:
      迭代器
      抛出:
      NullPointerException - 如果给定的拆分器是 null