Spec-Zone.ru › OpenJDK 24

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

Для реализации итератора расширяющему классу необходимо только реализовать 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()
Если этот итератор может быть разбит, возвращает Spliterator, охватывающий элементы, которые после возвращения из этого метода не будут охвачены этим итератором.

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

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

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

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

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

Указано в:
trySplit в интерфейсе Spliterator<Integer>
Возвращает:
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<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, 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.AbstractIntSpliterator.html

Spec-Zone.ru

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