鴻蒙OS Spliterators.AbstractDoubleSpliterator

2022-08-08 15:09 更新

Spliterators.AbstractDoubleSpliterator

java.lang.Object

|---java.util.Spliterators.AbstractDoubleSpliterator

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

一個抽象的 Spliterator.OfDouble ,它實現(xiàn)了 trySplit 以允許有限的并行性。

要實現(xiàn)拆分器,擴展類只需要實現(xiàn) Spliterator.OfDouble.tryAdvance(java.util.function.DoubleConsumer) tryAdvance}。 如果擴展類可以提供更高性能的實現(xiàn),則應(yīng)覆蓋 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

構(gòu)造函數(shù)摘要

修飾符 構(gòu)造函數(shù) 描述
protected AbstractDoubleSpliterator(long est, int additionalCharacteristics) 創(chuàng)建一個報告給定估計大小和特征的拆分器。

方法總結(jié)

修飾符和類型 方法 描述
int characteristics() 返回此 Spliterator 及其元素的一組特征。
long estimateSize() 返回 Spliterator.forEachRemaining(java.util.function.Consumer) 遍歷將遇到的元素數(shù)量的估計值,如果無限、未知或計算過于昂貴,則返回 Long#MAX_VALUE。
Spliterator.OfDouble trySplit() 如果此 spliterator 可以分區(qū),則返回一個 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

構(gòu)造函數(shù)詳細信息

AbstractDoubleSpliterator

protected AbstractDoubleSpliterator(long est, int additionalCharacteristics)

創(chuàng)建一個報告給定估計大小和特征的拆分器。

參數(shù):

參數(shù)名稱 參數(shù)描述
est 此拆分器的估計大?。ㄈ绻阎?,否則為 Long.MAX_VALUE。
additionalCharacteristics 此拆分器的源或元素的屬性。 如果報告了 SIZED,則此拆分器將另外報告 SUBSIZED。

方法詳情

trySplit

public Spliterator.OfDouble trySplit()

如果此 spliterator 可以分區(qū),則返回一個 Spliterator 覆蓋元素,從該方法返回時,該 Spliterator 不會被此 Spliterator 覆蓋。

如果此 Spliterator 是 Spliterator.ORDERED,則返回的 Spliterator 必須涵蓋元素的嚴格前綴。

除非此 Spliterator 涵蓋無限數(shù)量的元素,否則對 trySplit() 的重復調(diào)用最終必須返回 null。 在非空返回時:

  • 拆分前為estimateSize() 報告的值,拆分后必須大于或等于為此和返回的Spliterator 的estimateSize(); 和
  • 如果此 Spliterator 是 SUBSIZED,則拆分前此 spliterator 的estimateSize() 必須等于此 spliterator 的estimateSize() 和拆分后返回的 Spliterator 之和。

此方法可能出于任何原因返回 null,包括空虛、遍歷開始后無法拆分、數(shù)據(jù)結(jié)構(gòu)約束和效率考慮。 此實現(xiàn)允許有限的并行性。

指定者:

接口 SpliteratorDouble 中的 trySplit

指定者:

接口 Spliterator.OfDouble 中的 trySplit

指定者:

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

返回:

覆蓋部分元素的 Spliterator,如果此 spliterator 無法拆分,則為 null

estimateSize

public long estimateSize()

返回 Spliterator.forEachRemaining(java.util.function.Consumer) 遍歷將遇到的元素數(shù)量的估計值,如果無限、未知或計算過于昂貴,則返回 Long#MAX_VALUE。

如果此 Spliterator 是 Spliterator.SIZED 且尚未部分遍歷或拆分,或者此 Spliterator 是 Spliterator.SUBSIZED 且尚未部分遍歷,則此估計必須是完整遍歷將遇到的元素的準確計數(shù)。 否則,這個估計可能是任意不準確的,但必須按照 Spliterator.trySplit() 調(diào)用的指定減少。

指定者:

接口 SpliteratorDouble 中的estimateSize

返回:

估計的大小,如果是無限的、未知的或計算成本太高,則為 Long.MAX_VALUE。

characteristics

public int characteristics()

返回此 Spliterator 及其元素的一組特征。 結(jié)果表示為 Spliterator.ORDERED、Spliterator.DISTINCT、Spliterator.SORTED、Spliterator.SIZED、Spliterator.NONNULL、Spliterator.IMMUTABLE、Spliterator.CONCURRENT、Spliterator.SUBSIZED 的 ORed 值。 在給定拆分器上重復調(diào)用特性(),在調(diào)用 trySplit 之前或之間,應(yīng)該總是返回相同的結(jié)果。

如果 Spliterator 報告了一組不一致的特征(從單個調(diào)用或跨多個調(diào)用返回的特征),則無法保證使用此 Spliterator 的任何計算。

指定者:

接口 SpliteratorDouble 中的特征

返回:

特征的表示

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號