Module  java.base
软件包  java.util

Interface Spliterator.OfInt

    • 方法详细信息

      • trySplit

        Spliterator.OfInt trySplit​()
        说明从接口Spliterator复制
        如果此分割器可以被分区,返回一个包含元素的Spliter,当从该方法返回时,它不会被该Spliter所覆盖。

        如果此Spliterator为Spliterator.ORDERED ,则返回的Spliterator必须覆盖元素的严格前缀。

        除非这个Spliterator包含无数个元素,否则重复调用trySplit()必须最终返回null 非空返回:

        • 在拆分之前报告的值为estimateSize() ,分割后必须大于等于此值和estimateSize() ,并返回Spliterator;
        • 如果这Spliterator是SUBSIZED ,然后estimateSize()这个spliterator分裂之前必须等于总和estimateSize() ,这和拆分后返回Spliterator。

        该方法可能由于任何原因返回null ,包括空虚,遍历开始后无法拆分,数据结构约束和效率考虑。

        Specified by:
        trySplit在接口 Spliterator<Integer>
        Specified by:
        trySplit在接口 Spliterator.OfPrimitive<Integer,IntConsumer,Spliterator.OfInt>
        结果
        一个 Spliterator覆盖了元素的一部分,或 null如果这个拼接器不能被拆分
      • tryAdvance

        default boolean tryAdvance​(Consumer<? super Integer> action)
        如果存在剩余元素,则对其执行给定的操作,返回true ; 否则返回false 如果此Spliterator是Spliterator.ORDERED ,则会按照遇到的顺序对下一个元素执行操作。 动作抛出的异常被转发给呼叫者。
        Specified by:
        tryAdvance在接口 Spliterator<Integer>
        实现要求:
        如果操作是IntConsumer一个实例,那么它被转换为IntConsumer并传递给tryAdvance(java.util.function.IntConsumer) ; 否则动作适应IntConsumer一个实例,通过对参数IntConsumer进行拳击,然后传递给tryAdvance(java.util.function.IntConsumer)
        参数
        action - 行动
        结果
        false如果在进入该方法时不存在剩余元素,否则为 true