Интерфейс PrimitiveIterator<T, T_CONS>
- Параметры типа:
T- тип элементов, возвращаемых этим PrimitiveIterator. Тип должен быть типом-обёрткой для примитивного типа, например,Integerдля примитивного типаint.T_CONS- тип примитивного потребителя. Тип должен быть примитивным специализациейConsumerдляT, например,IntConsumerдляInteger.
- Все суперинтерфейсы:
Iterator<T>
- Все известные подинтерфейсы:
-
PrimitiveIterator.OfDouble,PrimitiveIterator.OfInt,PrimitiveIterator.OfLong
public interface PrimitiveIterator<T,T_CONS> extends Iterator<T>
Iterator. Специализированные подтипы предоставляются для int, long и double значений. Специализированные подтипы имеют реализации по умолчанию методов Iterator.next() и Iterator.forEachRemaining(java.util.function.Consumer), которые упаковывают примитивные значения в экземпляры соответствующего класса-обёртки. Такая упаковка может снизить преимущества использования примитивных специализаций. Для избежания упаковки следует использовать соответствующие методы на основе примитивов. Например, PrimitiveIterator.OfInt.nextInt() и PrimitiveIterator.OfInt.forEachRemaining(java.util.function.IntConsumer) следует использовать вместо PrimitiveIterator.OfInt.next() и PrimitiveIterator.OfInt.forEachRemaining(java.util.function.Consumer).
Итерация примитивных значений с использованием методов упаковки next() и forEachRemaining() не влияет на порядок появления значений, преобразованных в упакованные значения.
- Примечание к реализации:
- Если системная переменная boolean
org.openjdk.java.util.stream.tripwireустановлена вtrue, то выводится предупреждение об ошибке, если происходит упаковка примитивных значений при работе с примитивными специализациями подтипов. - С:
- 1.8
Краткое описание вложенных классов
| Модификатор и тип | Интерфейс | Описание |
|---|---|---|
static interface |
PrimitiveIterator.OfDouble |
Итератор, специализированный для double значений. |
static interface |
PrimitiveIterator.OfInt |
Итератор, специализированный для int значений. |
static interface |
PrimitiveIterator.OfLong |
Итератор, специализированный для long значений. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
forEachRemaining |
Выполняет заданное действие для каждого оставшегося элемента, пока все элементы не будут обработаны или действие не выбросит исключение. |
Методы, объявленные в интерфейсе java.util.Iterator
forEachRemaining, hasNext, next, remove
Подробное описание методов
forEachRemaining
void forEachRemaining(T_CONS action)
Поведение итератора не определено, если действие каким-либо образом изменяет источник элементов (даже вызвав метод remove или другие методы-мутаторы подтипов Iterator), если только переопределяющий класс не указал политику одновременного изменения.
Последующее поведение итератора не определено, если действие выбросило исключение.
- Параметры:
-
action- Действие, которое нужно выполнить для каждого элемента - Выбрасывает:
-
NullPointerException- если указанное действие равно null
© 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/PrimitiveIterator.html