Spec-Zone.ru › OpenJDK 24

Класс Spliterators.AbstractDoubleSpliterator

java.lang.Object
java.util.Spliterators.AbstractDoubleSpliterator
Все реализованные интерфейсы:
Spliterator<Double>, Spliterator.OfDouble, Spliterator.OfPrimitive<Double, DoubleConsumer, Spliterator.OfDouble>
Вложенный класс:
Spliterators
public abstract static class Spliterators.AbstractDoubleSpliterator extends Object implements Spliterator.OfDouble
Абстрактный итератор, который реализует ограниченное параллельное вычисление.

Для реализации итератора, наследующий класс должен лишь реализовать tryAdvance. Наследующий класс должен переопределить forEachRemaining, если может предоставить более производительную реализацию.

Примечание API:
Этот класс полезен для создания итератора, когда невозможно или сложно эффективно разделить элементы таким образом, чтобы позволить сбалансированное параллельное вычисление.

Альтернатива использованию этого класса, которая также позволяет ограниченное параллельное вычисление, заключается в создании итератора из итератора (см. Spliterators.spliterator(java.util.PrimitiveIterator.OfDouble, long, int). В зависимости от обстоятельств, использование итератора может быть проще или удобнее, чем расширение этого класса. Например, если уже доступен итератор, нет необходимости расширять этот класс.

С момента:
1.8
См. также:
  • Spliterators.spliterator(java.util.PrimitiveIterator.OfDouble, long, int)

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в интерфейсе java.util.Spliterator

Spliterator.OfDouble, Spliterator.OfInt, Spliterator.OfLong, Spliterator.OfPrimitive<T, T_CONS, T_SPLITR extends Spliterator.OfPrimitive<T,T_CONS,T_SPLITR>>

Краткое описание полей

Поля, объявленные в интерфейсе java.util.Spliterator

CONCURRENT, DISTINCT, IMMUTABLE, NONNULL, ORDERED, SIZED, SORTED, SUBSIZED

Краткое описание конструкторов

AbstractDoubleSpliterator(long est, int additionalCharacteristics)
Модификатор Конструктор Описание
protected
Создаёт итератор с заданным приблизительным размером и характеристиками.

Краткое описание методов

Модификатор и тип Метод Описание
int characteristics()
Возвращает набор характеристик этого Spliterator и его элементов.
long estimateSize()
Возвращает приблизительное количество элементов, которые будут встречены при проходе Spliterator.forEachRemaining(java.util.function.Consumer<? super T>), или возвращает Long.MAX_VALUE, если бесконечно, неизвестно или слишком дорого вычисляется.
Spliterator.OfDouble trySplit()
Если этот итератор может быть разделен, возвращает 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, tryAdvance

Методы, объявленные в интерфейсе java.util.Spliterator.OfPrimitive

forEachRemaining, tryAdvance

Подробное описание конструкторов

AbstractDoubleSpliterator

protected AbstractDoubleSpliterator(long est, int additionalCharacteristics)
Создаёт итератор с заданным приблизительным размером и характеристиками.
Параметры:
est - приблизительный размер этого итератора, если известен, в противном случае Long.MAX_VALUE.
additionalCharacteristics - свойства источника этого итератора или элементов. Если SIZED указан, этот итератор также будет указывать SUBSIZED.

Подробное описание методов

trySplit

public Spliterator.OfDouble trySplit()
Если этот итератор может быть разделен, возвращает Spliterator, охватывающий элементы, которые после возвращения из этого метода не будут охвачены этим Spliterator.

Если этот Spliterator Spliterator.ORDERED, возвращаемый Spliterator должен охватывать строгий префикс элементов.

Если этот Spliterator не охватывает бесконечное число элементов, повторные вызовы trySplit() должны в конечном итоге вернуть null. При не-null возвращении:

  • значение, указанное для estimateSize() до разделения, должно после разделения быть больше или равно estimateSize() для этого и возвращаемого Spliterator; и
  • если этот Spliterator является SUBSIZED, то estimateSize() для этого итератора перед разделением должен быть равен сумме estimateSize() для этого и возвращаемого Spliterator после разделения.

Этот метод может вернуть null по любой причине, включая пустоту, невозможность разделить после начала обхода, ограничения структуры данных и соображения эффективности. Эта реализация допускает ограниченное параллельное вычисление.

Указано в:
trySplit в интерфейсе Spliterator<Double>
Возвращает:
Spliterator, охватывающий часть элементов, или null, если этот итератор не может быть разделен

estimateSize

public long estimateSize()
Возвращает приблизительное количество элементов, которые будут встречены при проходе Spliterator.forEachRemaining(java.util.function.Consumer<? super T>), или возвращает Long.MAX_VALUE, если бесконечно, неизвестно или слишком дорого вычисляется.

Если этот Spliterator Spliterator.SIZED и не был частично пройден или разделен, или этот Spliterator Spliterator.SUBSIZED и не был частично пройден, эта оценка должна быть точным подсчётом элементов, которые встретятся при полном проходе. В противном случае эта оценка может быть произвольно неточной, но должна уменьшаться, как указано, при вызовах Spliterator.trySplit().

Указано в:
estimateSize в интерфейсе Spliterator<Double>
Требования к реализации:
Эта реализация возвращает оценённый размер, как он был сообщён при создании, и, если размер известен, уменьшается при разделении.
Возвращает:
оценённый размер, или Long.MAX_VALUE, если бесконечно, неизвестно или слишком дорого вычисляется.

characteristics

public int characteristics()
Возвращает набор характеристик этого Spliterator и его элементов. Результат представляется в виде побитового ИЛИ значений из Spliterator.ORDERED, Spliterator.DISTINCT, Spliterator.SORTED, Spliterator.SIZED, Spliterator.NONNULL, Spliterator.IMMUTABLE, Spliterator.CONCURRENT, Spliterator.SUBSIZED. Повторные вызовы characteristics() для данного итератора до или между вызовами trySplit должны всегда возвращать тот же результат.

Если Spliterator сообщает о несогласованном наборе характеристик (как в одном вызове, так и в нескольких вызовах), никакие гарантии не могут быть даны относительно любого вычисления, использующего этот Spliterator.

Указано в:
characteristics в интерфейсе Spliterator<Double>
Требования к реализации:
Эта реализация возвращает характеристики, как они были сообщены при создании.
Возвращает:
представление характеристик

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/Spliterators.AbstractDoubleSpliterator.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API