Spec-Zone.ru › OpenJDK 21

Класс 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
Абстрактный Spliterator.OfDouble, который реализует trySplit для ограниченного параллелизма.

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

Методы, объявленные в классе 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.ORDERED, возвращаемый разделитель должен охватывать строгий префикс элементов.

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

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

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

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

estimateSize

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

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

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

characteristics

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

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

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

© 1993, 2023, 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://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Spliterators.AbstractDoubleSpliterator.html

Spec-Zone.ru

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