阅读(3542) (6)

鸿蒙OS Spliterator.OfLong

2022-06-15 17:59:41 更新

Spliterator.OfLong

public static interface Spliterator.OfLong
extends Spliterator.OfPrimitive<Long,LongConsumer,Spliterator.OfLong>

专门用于long值的 Spliterator。

嵌套类摘要

从接口 java.util.Spliterator 继承的嵌套类/接口
Spliterator.OfDouble, Spliterator.OfInt, Spliterator.OfLong, Spliterator.OfPrimitive<T,T_CONS,T_SPLITR extends Spliterator.OfPrimitiveT,T_CONS,T_SPLITR>

字段摘要

从接口 java.util.Spliterator 继承的字段
CONCURRENT, DISTINCT, IMMUTABLE, NONNULL, ORDERED, SIZED, SORTED, SUBSIZED

方法总结

修饰符和类型 方法 描述
default void forEachRemaining(Consumer<? super Long> action) 在当前线程中按顺序对每个剩余元素执行给定的操作,直到处理完所有元素或该操作引发异常。
default void forEachRemaining(LongConsumer action) 在当前线程中按顺序对每个剩余元素执行给定的操作,直到处理完所有元素或该操作引发异常。
default boolean tryAdvance(Consumer<? super Long> action) 如果存在剩余元素,则对其执行给定的操作,返回 true; 否则返回false。
boolean tryAdvance(LongConsumer action) 如果存在剩余元素,则对其执行给定的操作,返回 true; 否则返回false。
Spliterator.OfLong trySplit() 如果此 spliterator 可以分区,则返回一个 Spliterator 覆盖元素,从该方法返回时,该 Spliterator 不会被此 Spliterator 覆盖。
从接口 java.util.Spliterator 继承的方法
characteristics, estimateSize, getComparator, getExactSizeIfKnown, hasCharacteristics

方法详情

trySplit

Spliterator.OfLong trySplit()

从接口复制的描述:Spliterator

如果此 spliterator 可以分区,则返回一个 Spliterator 覆盖元素,从该方法返回时,该 Spliterator 不会被此 Spliterator 覆盖。

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

除非此 Spliterator 涵盖无限数量的元素,否则对 trySplit() 的重复调用最终必须返回 null。 在非空返回时:

  • 在拆分之前为 estimateSize() 报告的值,在拆分之后,对于 this 和返回的 Spliterator,必须大于或等于 estimateSize();和
  • 如果此 Spliterator 是 SUBSIZED,则此 spliterator 在拆分之前的estimateSize() 必须等于此 spliterator 的estimateSize() 与拆分后返回的 Spliterator 之和。

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

指定者:

接口 SpliteratorLong 中的 trySplit

指定者:

接口 Spliterator.OfPrimitiveLong,LongConsumer,Spliterator.OfLong 中的 trySplit

返回:

覆盖部分元素的 Spliterator,如果此 spliterator 无法拆分,则为 null

tryAdvance

boolean tryAdvance(LongConsumer action)

从接口复制的描述:Spliterator.OfPrimitive

如果存在剩余元素,则对其执行给定的操作,返回 true; 否则返回 false。 如果此 Spliterator 是 Spliterator.ORDERED,则按遇到顺序对下一个元素执行操作。 操作引发的异常将转发给调用者。

指定者:

接口 Spliterator.OfPrimitiveLong,LongConsumer,Spliterator.OfLong 中的 tryAdvance

参数:

参数名称 参数描述
action 行为

返回:

如果在进入此方法时不存在剩余元素,则为 false,否则为 true。

forEachRemaining

default void forEachRemaining(LongConsumer action)

从接口复制的描述:Spliterator.OfPrimitive

在当前线程中按顺序对每个剩余元素执行给定的操作,直到处理完所有元素或该操作引发异常。 如果此 Spliterator 是 Spliterator.ORDERED,则按遇到顺序执行操作。 操作引发的异常将转发给调用者。

指定者:

接口 Spliterator.OfPrimitiveLong,LongConsumer,Spliterator.OfLong 中的 forEachRemaining

参数:

参数名称 参数描述
action 行为

tryAdvance

default boolean tryAdvance(Consumer<? super Long> action)

如果存在剩余元素,则对其执行给定的操作,返回 true; 否则返回 false。 如果此 Spliterator 是 Spliterator.ORDERED,则按遇到顺序对下一个元素执行操作。 操作引发的异常将转发给调用者。

指定者:

接口 SpliteratorLong 中的 tryAdvance

参数:

参数名称 参数描述
action 行为

返回:

如果在进入此方法时不存在剩余元素,则为 false,否则为 true。

forEachRemaining

default void forEachRemaining(Consumer<? super Long> action)

在当前线程中按顺序对每个剩余元素执行给定的操作,直到处理完所有元素或该操作引发异常。 如果此 Spliterator 是 Spliterator.ORDERED,则按遇到顺序执行操作。 操作引发的异常将转发给调用者。

指定者:

接口 SpliteratorLong 中的 forEachRemaining

参数:

参数名称 参数描述
action 行为