Spec-Zone.ru › OpenJDK 24

Класс Spliterators.AbstractLongSpliterator

java.lang.Object
java.util.Spliterators.AbstractLongSpliterator
Все реализуемые интерфейсы:
Spliterator<Long>, Spliterator.OfLong, Spliterator.OfPrimitive<Long, LongConsumer, Spliterator.OfLong>
Вложенный класс:
Spliterators
public abstract static class Spliterators.AbstractLongSpliterator extends Object implements Spliterator.OfLong
Абстрактный Spliterator.OfLong, который реализует trySplit для ограниченного параллелизма.

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

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

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

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

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

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

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

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

forEachRemaining, tryAdvance

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

forEachRemaining, tryAdvance

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

AbstractLongSpliterator

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

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

trySplit

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

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

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

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

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

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

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

Spec-Zone.ru

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