Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract static class Spliterators.AbstractSpliterator<T> extends Object implements Spliterator<T>
Spliterator
это реализует trySplit
разрешать ограниченный параллелизм. Расширяющийся class должен только реализовать tryAdvance
. Расширяющийся class должен переопределить forEach
если это может обеспечить более производительную реализацию.
Альтернатива использованию этого class, который также разрешает ограниченный параллелизм, должна создать spliterator из iterator (см. Spliterators.spliterator(Iterator, long, int)
. В зависимости от обстоятельств, используя iterator может быть легче или более удобным чем расширение этого class, такой как тогда, когда уже есть iterator доступное использованию.
Spliterators.spliterator(Iterator, long, int)
Spliterator.OfDouble, Spliterator.OfInt, Spliterator.OfLong
CONCURRENT, DISTINCT, IMMUTABLE, NONNULL, ORDERED, SIZED, SORTED, SUBSIZED
Модификатор | Конструктор и Описание |
---|---|
protected |
Spliterators.AbstractSpliterator(long est, int additionalCharacteristics)
Создает spliterator создание отчетов о данном оцененном размере и additionalCharacteristics.
|
Модификатор и Тип | Метод и Описание |
---|---|
int |
characteristics()
Возвраты ряд характеристик этого Spliterator и его элементов.
|
long |
estimateSize()
Возвращает оценку числа элементов, с которым встретился бы a
Spliterator.forEachRemaining(java.util.function.Consumer<? super T>) обход, или возвраты Long.MAX_VALUE если большое количество, неизвестный, или слишком дорогой, чтобы вычислить. |
Spliterator<T> |
trySplit()
Если этот spliterator может быть разделен, возвращает Spliterator, покрывающий элементы, которые будут по возврату из этого метода, не покрываются этим Spliterator.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
forEachRemaining, getComparator, getExactSizeIfKnown, hasCharacteristics, tryAdvance
protected Spliterators.AbstractSpliterator(long est, int additionalCharacteristics)
est
- предполагаемый размер этого spliterator если известный, иначе Long.MAX_VALUE
.additionalCharacteristics
- свойства источника этого spliterator или элементов. Если SIZED
сообщается тогда, этот spliterator дополнительно сообщит SUBSIZED
.public Spliterator<T> trySplit()
Если этот Spliterator Spliterator.ORDERED
, возвращенный Spliterator должен покрыть строгий префикс элементов.
Если этот Spliterator не покрывает бесконечное число элементов, повторенных звонков trySplit()
должен в конечном счете возвратиться null
. По ненулевому возврату:
estimateSize()
перед разделением, если не уже нуль или Long.MAX_VALUE
, после разделения, должно быть больше чем estimateSize()
для этого и возвращенного Spliterator; иSUBSIZED
, тогда estimateSize()
для этого spliterator прежде, чем разделение должно быть равным сумме estimateSize()
для этого и возвращенного Spliterator после разделения.Этот метод может возвратиться null
по любой причине, включая пустоту, неспособность разделить после того, как обход начался, ограничения структуры данных, и соображения эффективности. Эта реализация разрешает ограниченный параллелизм.
trySplit
в интерфейсе Spliterator<T>
Spliterator
покрытие некоторой части элементов, или null
если этот spliterator не может быть разделенpublic long estimateSize()
Spliterator.forEachRemaining(java.util.function.Consumer<? super T>)
обход, или возвраты Long.MAX_VALUE
если большое количество, неизвестный, или слишком дорогой, чтобы вычислить. Если этот Spliterator Spliterator.SIZED
и еще не был частично пересечен или разделен, или этот Spliterator Spliterator.SUBSIZED
и еще не был частично пересечен, эта оценка должна быть точным количеством элементов, с которыми встретился бы полный обход. Иначе, эта оценка может быть произвольно неточной, но должна уменьшиться как определено через вызовы Spliterator.trySplit()
.
estimateSize
в интерфейсе Spliterator<T>
Long.MAX_VALUE
если большое количество, неизвестный, или слишком дорогой, чтобы вычислить.public int characteristics()
Spliterator.ORDERED
, Spliterator.DISTINCT
, Spliterator.SORTED
, Spliterator.SIZED
, Spliterator.NONNULL
, Spliterator.IMMUTABLE
, Spliterator.CONCURRENT
, Spliterator.SUBSIZED
. Повторные звонки characteristics()
на данном spliterator должен всегда возвращать тот же самый результат. Если Spliterator сообщает о непоследовательном наборе характеристик (или возвращенные из единственного вызова или через многократные вызовы), никакие гарантии не могут быть сделаны ни о каком вычислении, используя этот Spliterator.
characteristics
в интерфейсе Spliterator<T>
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92