codecamp

鸿蒙OS Spliterators.AbstractDoubleSpliterator

Spliterators.AbstractDoubleSpliterator

java.lang.Object

|---java.util.Spliterators.AbstractDoubleSpliterator

public abstract static class Spliterators.AbstractDoubleSpliterator
extends Object
implements Spliterator.OfDouble

一个抽象的 Spliterator.OfDouble ,它实现了 trySplit 以允许有限的并行性。

要实现拆分器,扩展类只需要实现 Spliterator.OfDouble.tryAdvance(java.util.function.DoubleConsumer) tryAdvance}。 如果扩展类可以提供更高性能的实现,则应覆盖 Spliterator.OfDouble.forEachRemaining(java.util.function.DoubleConsumer) forEach}。

嵌套类摘要

从接口 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

构造函数摘要

修饰符 构造函数 描述
protected AbstractDoubleSpliterator(long est, int additionalCharacteristics) 创建一个报告给定估计大小和特征的拆分器。

方法总结

修饰符和类型 方法 描述
int characteristics() 返回此 Spliterator 及其元素的一组特征。
long estimateSize() 返回 Spliterator.forEachRemaining(java.util.function.Consumer) 遍历将遇到的元素数量的估计值,如果无限、未知或计算过于昂贵,则返回 Long#MAX_VALUE。
Spliterator.OfDouble trySplit() 如果此 spliterator 可以分区,则返回一个 Spliterator 覆盖元素,从该方法返回时,该 Spliterator 不会被此 Spliterator 覆盖。
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
从接口 java.util.Spliterator 继承的方法
getComparator, getExactSizeIfKnown, hasCharacteristics
从接口 java.util.Spliterator.OfDouble 继承的方法
forEachRemaining, forEachRemaining, tryAdvance, tryAdvance

构造函数详细信息

AbstractDoubleSpliterator

protected AbstractDoubleSpliterator(long est, int additionalCharacteristics)

创建一个报告给定估计大小和特征的拆分器。

参数:

参数名称 参数描述
est 此拆分器的估计大小(如果已知),否则为 Long.MAX_VALUE。
additionalCharacteristics 此拆分器的源或元素的属性。 如果报告了 SIZED,则此拆分器将另外报告 SUBSIZED。

方法详情

trySplit

public Spliterator.OfDouble trySplit()

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

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

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

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

此方法可能出于任何原因返回 null,包括空虚、遍历开始后无法拆分、数据结构约束和效率考虑。 此实现允许有限的并行性。

指定者:

接口 SpliteratorDouble 中的 trySplit

指定者:

接口 Spliterator.OfDouble 中的 trySplit

指定者:

接口 Spliterator.OfPrimitiveDouble,DoubleConsumer,Spliterator.OfDouble 中的 trySplit

返回:

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

estimateSize

public long estimateSize()

返回 Spliterator.forEachRemaining(java.util.function.Consumer) 遍历将遇到的元素数量的估计值,如果无限、未知或计算过于昂贵,则返回 Long#MAX_VALUE。

如果此 Spliterator 是 Spliterator.SIZED 且尚未部分遍历或拆分,或者此 Spliterator 是 Spliterator.SUBSIZED 且尚未部分遍历,则此估计必须是完整遍历将遇到的元素的准确计数。 否则,这个估计可能是任意不准确的,但必须按照 Spliterator.trySplit() 调用的指定减少。

指定者:

接口 SpliteratorDouble 中的estimateSize

返回:

估计的大小,如果是无限的、未知的或计算成本太高,则为 Long.MAX_VALUE。

characteristics

public int characteristics()

返回此 Spliterator 及其元素的一组特征。 结果表示为 Spliterator.ORDERED、Spliterator.DISTINCT、Spliterator.SORTED、Spliterator.SIZED、Spliterator.NONNULL、Spliterator.IMMUTABLE、Spliterator.CONCURRENT、Spliterator.SUBSIZED 的 ORed 值。 在给定拆分器上重复调用特性(),在调用 trySplit 之前或之间,应该总是返回相同的结果。

如果 Spliterator 报告了一组不一致的特征(从单个调用或跨多个调用返回的特征),则无法保证使用此 Spliterator 的任何计算。

指定者:

接口 SpliteratorDouble 中的特征

返回:

特征的表示

鸿蒙OS Spliterators
鸿蒙OS Spliterators.AbstractIntSpliterator
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

鸿蒙OS 开发

鸿蒙OS 术语

鸿蒙OS Java API参考

鸿蒙OS ohos.aafwk.ability

鸿蒙OS ohos.aafwk.abilityjet.activedata

鸿蒙OS ohos.aafwk.content

鸿蒙OS java.lang

鸿蒙OS java.Util

鸿蒙OS java.Util class

鸿蒙OS ohos.data.dataability

鸿蒙OS ohos.data.dataability class

鸿蒙OS ohos.agp.components

鸿蒙OS ohos.agp.components interface

鸿蒙OS ohos.agp.components class

鸿蒙OS ohos.global.configuration

鸿蒙OS java.io

鸿蒙OS ohos.data.resultset

鸿蒙OS ohos.data.resultset interface

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }