鸿蒙OS开发文档 鸿蒙OS Spliterator.OfPrimitive

2024-02-25 开发教程 鸿蒙OS开发文档 匿名 2

Spliterator.OfPrimitive

public static interface Spliterator.OfPrimitive<T,T_CONS,T_SPLITR extends Spliterator.OfPrimitive<T,T_CONS,T_SPLITR>>
extends Spliterator<T>

专用于原始值的 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 voidforEachRemaining(T_CONS action)在当前线程中按顺序对每个剩余元素执行给定的操作,直到处理完所有元素或该操作引发异常。
booleantryAdvance(T_CONS action)如果存在剩余元素,则对其执行给定的操作,返回 true; 否则返回false。
T_SPLITRtrySplit()如果此 spliterator 可以分区,则返回一个 Spliterator 覆盖元素,从该方法返回时,该 Spliterator 不会被此 Spliterator 覆盖。
从接口 java.util.Spliterator 继承的方法
characteristics, estimateSize, forEachRemaining, getComparator, getExactSizeIfKnown, hasCharacteristics, tryAdvance

方法详情

trySplit

T_SPLITR 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、遍历开始后无法拆分、数据结构约束和效率考虑。

指定者:

接口 SpliteratorT 中的 trySplit

返回:

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

tryAdvance

boolean tryAdvance(T_CONS action)

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

参数:

参数名称参数描述
action行为

返回:

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

Throws:

Throw名称Throw描述
NullPointerException如果指定的操作为空

forEachRemaining

default void forEachRemaining(T_CONS action)

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

参数:

参数名称参数描述
action行为

Throws:

Throw名称Throw描述
NullPointerException如果指定的操作为空