Module  java.base
软件包  java.util

Interface Spliterator.OfLong

    • 方法详细信息

      • trySplit

        Spliterator.OfLong 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<Long>
        Specified by:
        trySplit在接口 Spliterator.OfPrimitive<Long,LongConsumer,Spliterator.OfLong>
        结果
        一个 Spliterator覆盖部分元素,或 null如果此拼接器无法拆分
      • tryAdvance

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