Spec-Zone.ru › OpenJDK 27

Интерфейс Spliterator.OfPrimitive<T, T_CONS, T_SPLITR extends Spliterator.OfPrimitive<T,T_CONS,T_SPLITR>>

Параметры типа:
T — тип элементов, возвращаемых этим Spliterator. Тип должен быть типом-оболочкой для примитивного типа, например Integer для примитивного типа int.
T_CONS — тип потребителя примитивных значений. Тип должен быть примитивной специализацией Consumer для T, например IntConsumer для Integer.
T_SPLITR — тип примитивного Spliterator. Тип должен быть примитивной специализацией Spliterator для T, например Spliterator.OfInt для Integer.
Все суперинтерфейсы:
Spliterator<T>
Все известные подинтерфейсы:
Spliterator.OfDouble, Spliterator.OfInt, Spliterator.OfLong
Все известные реализующие классы:
Spliterators.AbstractDoubleSpliterator, Spliterators.AbstractIntSpliterator, Spliterators.AbstractLongSpliterator
Внешний интерфейс:
Spliterator<T>
public static interface Spliterator.OfPrimitive<T, T_CONS, T_SPLITR extends Spliterator.OfPrimitive<T,T_CONS,T_SPLITR>> extends Spliterator<T>
Spliterator, специализированный для примитивных значений.
Начиная с версии:
1.8
См. также:
  • Spliterator.OfInt
  • Spliterator.OfLong
  • Spliterator.OfDouble

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в интерфейсе Spliterator

Spliterator.OfDouble, Spliterator.OfInt, Spliterator.OfLong, Spliterator.OfPrimitive<T,T_CONS,T_SPLITR>
Модификатор и тип Интерфейс Описание
static interface  Spliterator.OfDouble
Spliterator, специализированный для значений double.
static interface  Spliterator.OfInt
Spliterator, специализированный для значений int.
static interface  Spliterator.OfLong
Spliterator, специализированный для значений long.
static interface  Spliterator.OfPrimitive<T, T_CONS, T_SPLITR extends Spliterator.OfPrimitive<T,T_CONS,T_SPLITR>>
Spliterator, специализированный для примитивных значений.

Краткое описание полей

Поля, объявленные в интерфейсе Spliterator

CONCURRENT, DISTINCT, IMMUTABLE, NONNULL, ORDERED, SIZED, SORTED, SUBSIZED
Модификатор и тип Поле Описание
static final int CONCURRENT
Значение характеристики, указывающее, что источник элементов может безопасно изменяться одновременно (с добавлением, заменой и/или удалением элементов) несколькими потоками без внешней синхронизации.
static final int DISTINCT
Значение характеристики, указывающее, что для каждой пары встреченных элементов x, y, !x.equals(y).
static final int IMMUTABLE
Значение характеристики, указывающее, что структура источника элементов не может быть изменена; то есть элементы нельзя добавлять, заменять или удалять, поэтому такие изменения не могут происходить во время обхода.
static final int NONNULL
Значение характеристики, указывающее, что источник гарантирует, что встреченные элементы не будут null.
static final int ORDERED
Значение характеристики, указывающее, что для элементов определён порядок обхода.
static final int SIZED
Значение характеристики, указывающее, что значение, возвращаемое методом estimateSize() до обхода или разбиения, представляет собой конечный размер, который при отсутствии структурных изменений источника точно соответствует количеству элементов, которые будут встречены при полном обходе.
static final int SORTED
Значение характеристики, указывающее, что порядок обхода соответствует определённому порядку сортировки.
static final int SUBSIZED
Значение характеристики, указывающее, что все Spliterator, полученные в результате trySplit(), будут иметь характеристики Spliterator.SIZED и Spliterator.SUBSIZED.

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

Модификатор и тип Метод Описание
default void forEachRemaining(T_CONS action)
Выполняет указанное действие для каждого оставшегося элемента последовательно в текущем потоке, пока все элементы не будут обработаны или действие не вызовет исключение.
boolean tryAdvance(T_CONS action)
Если остался элемент, выполняет над ним указанное действие и возвращает true; в противном случае возвращает false.

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

characteristics, estimateSize, forEachRemaining, getComparator, getExactSizeIfKnown, hasCharacteristics, tryAdvance, trySplit
Модификатор и тип Метод Описание
int characteristics()
Возвращает набор характеристик этого Spliterator и его элементов.
long estimateSize()
Возвращает оценку количества элементов, которые будут встречены при обходе с помощью Spliterator.forEachRemaining(Consumer), или возвращает Long.MAX_VALUE, если это количество бесконечно, неизвестно или его вычисление слишком затратно.
default void forEachRemaining(Consumer<? super T> action)
Выполняет указанное действие для каждого оставшегося элемента последовательно в текущем потоке, пока все элементы не будут обработаны или действие не вызовет исключение.
default Comparator<? super T> getComparator()
Если источник этого Spliterator отсортирован по Spliterator.SORTED с помощью Comparator, возвращает этот Comparator.
default long getExactSizeIfKnown()
Вспомогательный метод, возвращающий Spliterator.estimateSize(), если этот Spliterator имеет характеристику Spliterator.SIZED, и -1 в противном случае.
default boolean hasCharacteristics(int characteristics)
Возвращает true, если Spliterator.characteristics() этого Spliterator содержат все указанные характеристики.
boolean tryAdvance(Consumer<? super T> action)
Если остался элемент, выполняет над ним указанное действие и возвращает true; в противном случае возвращает false.
Spliterator<T> trySplit()
Если этот spliterator можно разделить на части, возвращает Spliterator, охватывающий элементы, которые после возврата из этого метода больше не будут охватываться данным Spliterator.

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

tryAdvance

boolean tryAdvance(T_CONS action)
Если остался элемент, выполняет над ним указанное действие и возвращает true; в противном случае возвращает false. Если этот Spliterator имеет характеристику Spliterator.ORDERED, действие выполняется над следующим элементом в порядке обхода. Исключения, вызванные действием, передаются вызывающему коду.

Дальнейшее поведение spliterator не определено, если действие вызывает исключение.

Параметры:
action — действие
Возвращает:
false, если при входе в этот метод оставшихся элементов не было; в противном случае true.
Вызывает:
NullPointerException — если указанное действие равно null

forEachRemaining

default void forEachRemaining(T_CONS action)
Выполняет указанное действие для каждого оставшегося элемента последовательно в текущем потоке, пока все элементы не будут обработаны или действие не вызовет исключение. Если этот Spliterator имеет характеристику Spliterator.ORDERED, действия выполняются в порядке обхода. Исключения, вызванные действием, передаются вызывающему коду.

Дальнейшее поведение spliterator не определено, если действие вызывает исключение.

Требования к реализации:
Реализация по умолчанию многократно вызывает tryAdvance(T_CONS), пока метод не вернёт false. По возможности этот метод следует переопределять.
Параметры:
action — действие
Вызывает:
NullPointerException — если указанное действие равно null

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, в том числе общие сведения, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

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

Spec-Zone.ru

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