Spec-Zone.ru › OpenJDK 17

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

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

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

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

Указано в:
trySplit в интерфейсе Spliterator<Double>
Возвращает:
a 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()
Возвращает набор характеристик этого разделителя и его элементов. Результат представляется как ORed значения из Spliterator.ORDERED, Spliterator.DISTINCT, Spliterator.SORTED, Spliterator.SIZED, Spliterator.NONNULL, Spliterator.IMMUTABLE, Spliterator.CONCURRENT, Spliterator.SUBSIZED. Повторные вызовы characteristics() для данного разделителя до или между вызовами trySplit должны всегда возвращать один и тот же результат.

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

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

© 1993, 2021, 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/17/docs/api/java.base/java/util/Spliterators.AbstractDoubleSpliterator.html

Spec-Zone.ru

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