Spec-Zone.ru › OpenJDK 21

Класс Spliterators.AbstractIntSpliterator

java.lang.Object
java.util.Spliterators.AbstractIntSpliterator
Все реализованные интерфейсы:
Spliterator<Integer>, Spliterator.OfInt, Spliterator.OfPrimitive<Integer,IntConsumer,Spliterator.OfInt>
Вложенный класс:
Spliterators
public abstract static class Spliterators.AbstractIntSpliterator extends Object implements Spliterator.OfInt
Абстрактный Spliterator.OfInt для реализации trySplit с ограниченной параллельностью.

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

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

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

С:
1.8
См. также:
  • Spliterators.spliterator(java.util.PrimitiveIterator.OfInt, 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

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

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

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

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

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

getComparator, getExactSizeIfKnown, hasCharacteristics

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

forEachRemaining, tryAdvance

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

forEachRemaining, tryAdvance

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

AbstractIntSpliterator

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

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

trySplit

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

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

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

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

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

Определено в:
trySplit в интерфейсе Spliterator<Integer>
Возвращает:
разделитель 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<Integer>
Требования к реализации:
Эта реализация возвращает предполагаемый размер, как указано при создании, и, если предполагаемый размер известен, уменьшается при разделении.
Возвращает:
предполагаемый размер, или 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<Integer>
Требования к реализации:
Эта реализация возвращает характеристики, как указано при создании.
Возвращает:
представление характеристик

© 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.AbstractIntSpliterator.html

Spec-Zone.ru

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