Spec-Zone.ru › OpenJDK 8

Класс 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 для ограниченного параллелизма.

Для реализации разделителя расширяющий класс должен только реализовать Spliterator.OfLong.tryAdvance(java.util.function.LongConsumer). Расширяющий класс должен переопределить Spliterator.OfLong.forEachRemaining(java.util.function.LongConsumer), если он может предоставить более производительную реализацию.

Примечание 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

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

Модификатор Конструктор и описание
protected AbstractLongSpliterator(long est, int additionalCharacteristics)

Создает разделитель, сообщающий о заданном предполагаемом размере и характеристиках.

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

Модификатор и тип Метод и описание
int characteristics()

Возвращает набор характеристик этого разделителя и его элементов.

long estimateSize()

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

Spliterator.OfLong trySplit()

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

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

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

Методы, унаследованные от интерфейса java.util.Spliterator.OfLong

forEachRemaining, forEachRemaining, tryAdvance, tryAdvance

Методы, унаследованные от интерфейса java.util.Spliterator

getComparator, getExactSizeIfKnown, hasCharacteristics

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

AbstractLongSpliterator

protected AbstractLongSpliterator(long est,
                                  int additionalCharacteristics)

Создает разделитель, сообщающий о заданном предполагаемом размере и характеристиках.

Параметры:
est - предполагаемый размер этого разделителя, если известен, в противном случае Long.MAX_VALUE.
additionalCharacteristics - свойства источника этого разделителя или элементов. Если SIZED сообщается, то этот разделитель дополнительно сообщит SUBSIZED.

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

trySplit

public Spliterator.OfLong trySplit()

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

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

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

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

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

Определено в:
trySplit в интерфейсе Spliterator<Long>
Определено в:
trySplit в интерфейсе Spliterator.OfLong
Определено в:
trySplit в интерфейсе Spliterator.OfPrimitive<Long,LongConsumer,Spliterator.OfLong>
Возвращает:
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()

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

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

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

© 1993, 2020, 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.

Spec-Zone.ru

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