Интерфейс IntStream
- Все суперинтерфейсы:
- AutoCloseable, BaseStream<Integer,IntStream>
public interface IntStream extends BaseStream<Integer,IntStream>
Последовательность примитивных элементов int, поддерживающая последовательные и параллельные агрегатные операции. Это примитивное специализированное представление Stream.
Следующий пример демонстрирует агрегатную операцию с использованием Stream и IntStream, вычисляющую сумму весов красных виджетов:
int sum = widgets.stream()
.filter(w -> w.getColor() == RED)
.mapToInt(w -> w.getWeight())
.sum(); См. документацию по классу Stream и документацию пакета java.util.stream для дополнительной информации о потоках, операциях над потоками, конвейерах потоков и параллельности.- С момента:
- 1.8
- См. также:
-
Stream, java.util.stream
Вложенные классы
| Модификатор и тип | Интерфейс и описание |
|---|---|
static interface |
IntStream.Builder Изменяемый билдер для |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
boolean |
allMatch(IntPredicate predicate) Возвращает, соответствуют ли все элементы этого потока предоставленному предикату. |
boolean |
anyMatch(IntPredicate predicate) Возвращает, соответствует ли хоть один элемент этого потока предоставленному предикату. |
DoubleStream |
asDoubleStream() Возвращает |
LongStream |
asLongStream() Возвращает |
OptionalDouble |
average() Возвращает |
Stream<Integer> |
boxed() Возвращает |
static IntStream.Builder |
builder() Возвращает билдер для |
<R> R |
collect(Supplier<R> supplier,
ObjIntConsumer<R> accumulator,
BiConsumer<R,R> combiner) Выполняет операцию мутабельного сокращения над элементами этого потока. |
static IntStream |
concat(IntStream a,
IntStream b) Создаёт лениво конкатенированный поток, элементы которого — все элементы первого потока, за которыми следуют все элементы второго потока. |
long |
count() Возвращает количество элементов в этом потоке. |
IntStream |
distinct() Возвращает поток, содержащий только уникальные элементы этого потока. |
static IntStream |
empty() Возвращает пустой последовательный |
IntStream |
filter(IntPredicate predicate) Возвращает поток, содержащий элементы этого потока, которые соответствуют заданному предикату. |
OptionalInt |
findAny() Возвращает |
OptionalInt |
findFirst() Возвращает |
IntStream |
flatMap(IntFunction<? extends IntStream> mapper) Возвращает поток, содержащий результаты замены каждого элемента этого потока содержимым отображённого потока, полученного путём применения предоставленной функции отображения к каждому элементу. |
void |
forEach(IntConsumer action) Выполняет действие для каждого элемента этого потока. |
void |
forEachOrdered(IntConsumer action) Выполняет действие для каждого элемента этого потока, гарантируя, что каждый элемент обрабатывается в порядке встречи для потоков, имеющих определённый порядок встречи. |
static IntStream |
generate(IntSupplier s) Возвращает бесконечный последовательный неупорядоченный поток, где каждый элемент генерируется предоставленной |
static IntStream |
iterate(int seed,
IntUnaryOperator f) Возвращает бесконечный последовательный упорядоченный |
PrimitiveIterator.OfInt |
iterator() Возвращает итератор для элементов этого потока. |
IntStream |
limit(long maxSize) Возвращает поток, содержащий элементы этого потока, усечённые до длины не более |
IntStream |
map(IntUnaryOperator mapper) Возвращает поток, содержащий результаты применения данной функции к элементам этого потока. |
DoubleStream |
mapToDouble(IntToDoubleFunction mapper) Возвращает |
LongStream |
mapToLong(IntToLongFunction mapper) Возвращает |
<U> Stream<U> |
mapToObj(IntFunction<? extends U> mapper) Возвращает |
OptionalInt |
max() Возвращает |
OptionalInt |
min() Возвращает |
boolean |
noneMatch(IntPredicate predicate) Возвращает, не соответствует ли ни один элемент этого потока предоставленному предикату. |
static IntStream |
of(int... values) Возвращает последовательный упорядоченный поток, содержащий указанные значения. |
static IntStream |
of(int t) Возвращает последовательный |
IntStream |
parallel() Возвращает эквивалентный поток, который является параллельным. |
IntStream |
peek(IntConsumer action) Возвращает поток, содержащий элементы этого потока, дополнительно выполняя предоставленное действие над каждым элементом при потреблении элементов из результирующего потока. |
static IntStream |
range(int startInclusive,
int endExclusive) Возвращает последовательный упорядоченный |
static IntStream |
rangeClosed(int startInclusive,
int endInclusive) Возвращает последовательный упорядоченный |
OptionalInt |
reduce(IntBinaryOperator op) Выполняет сокращение над элементами этого потока, используя ассоциативную функцию накопления, и возвращает |
int |
reduce(int identity,
IntBinaryOperator op) Выполняет сокращение над элементами этого потока, используя предоставленное начальное значение и ассоциативную функцию накопления, и возвращает результирующее значение. |
IntStream |
sequential() Возвращает эквивалентный поток, который является последовательным. |
IntStream |
skip(long n) Возвращает поток, содержащий оставшиеся элементы этого потока после удаления первых |
IntStream |
sorted() Возвращает поток, содержащий элементы этого потока в отсортированном порядке. |
Spliterator.OfInt |
spliterator() Возвращает итератор для элементов этого потока. |
int |
sum() Возвращает сумму элементов в этом потоке. |
IntSummaryStatistics |
summaryStatistics() Возвращает |
int[] |
toArray() Возвращает массив, содержащий элементы этого потока. |
Методы, унаследованные от интерфейса java.util.stream.BaseStream
close, isParallel, onClose, unordered Методы
filter
IntStream filter(IntPredicate predicate)
Возвращает поток, состоящий из элементов этого потока, которые соответствуют заданному предикату.
Это промежуточная операция.
- Параметры:
-
predicate- предикат, не влияющий на состояние, применяемый к каждому элементу, чтобы определить, следует ли его включать - Возвращает:
- новый поток
map
IntStream map(IntUnaryOperator mapper)
Возвращает поток, состоящий из результатов применения заданной функции к элементам этого потока.
Это промежуточная операция.
- Параметры:
-
mapper- функция, не влияющая на состояние, применяемая к каждому элементу - Возвращает:
- новый поток
mapToObj
<U> Stream<U> mapToObj(IntFunction<? extends U> mapper)
Возвращает поток с объектным Stream значением, состоящий из результатов применения заданной функции к элементам этого потока.
Это промежуточная операция.
- Параметры типа:
-
U- тип элемента нового потока - Параметры:
-
mapper- функция, не влияющая на состояние, применяемая к каждому элементу - Возвращает:
- новый поток
mapToLong
LongStream mapToLong(IntToLongFunction mapper)
Возвращает поток LongStream , состоящий из результатов применения заданной функции к элементам этого потока.
Это промежуточная операция.
- Параметры:
-
mapper- функция, не влияющая на состояние, применяемая к каждому элементу - Возвращает:
- новый поток
mapToDouble
DoubleStream mapToDouble(IntToDoubleFunction mapper)
Возвращает поток DoubleStream , состоящий из результатов применения заданной функции к элементам этого потока.
Это промежуточная операция.
- Параметры:
-
mapper- функция, не влияющая на состояние, применяемая к каждому элементу - Возвращает:
- новый поток
flatMap
IntStream flatMap(IntFunction<? extends IntStream> mapper)
Возвращает поток, состоящий из результатов замены каждого элемента этого потока содержимым отображаемого потока, полученного путем применения предоставленной функции отображения к каждому элементу. Каждый отображенный поток closed после того, как его содержимое было помещено в этот поток. (Если отображенный поток null , вместо него используется пустой поток.)
Это промежуточная операция.
- Параметры:
-
mapper- функция, не влияющая на состояние, применяемая к каждому элементу, которая создаетIntStreamновых значений - Возвращает:
- новый поток
- См. также:
Stream.flatMap(Function)
distinct
IntStream distinct()
Возвращает поток, содержащий только уникальные элементы этого потока.
Это операция промежуточной обработки со состоянием.
- Возвращает:
- новый поток
sorted
IntStream sorted()
Возвращает поток, содержащий элементы этого потока в отсортированном порядке.
Это операция промежуточной обработки со состоянием.
- Возвращает:
- новый поток
peek
IntStream peek(IntConsumer action)
Возвращает поток, содержащий элементы этого потока, дополнительно выполняющий предоставленное действие над каждым элементом по мере потребления элементов из результирующего потока.
Это промежуточная операция.
Для параллельных потоков действия могут выполняться в любое время и в любом потоке, в котором элемент становится доступным от операции предшествующего уровня. Если действие изменяет общие данные, оно отвечает за предоставление необходимой синхронизации.
- Примечание API:
- Этот метод существует в основном для поддержки отладки, где вы хотите увидеть элементы, так как они проходят через определенную точку в конвейере:
IntStream.of(1, 2, 3, 4) .filter(e -> e > 2) .peek(e -> System.out.println("Filtered value: " + e)) .map(e -> e * e) .peek(e -> System.out.println("Mapped value: " + e)) .sum(); - Параметры:
-
action- действие, не влияющее на состояние, выполняемое над элементами по мере потребления их из потока - Возвращает:
- новый поток
limit
IntStream limit(long maxSize)
Возвращает поток, содержащий элементы этого потока, ограниченные длиной не более maxSize.
Это промежуточная операция со скользящим эффектом и состоянием.
- Примечание API:
- Хотя
limit()обычно является быстрой операцией для последовательных потоков, она может быть довольно ресурсоемкой для упорядоченных параллельных потоков, особенно для больших значенийmaxSize, посколькуlimit(n)ограничен получением не любых n элементов, а первых n элементов в порядке встречи. Использование неупорядоченного источника потока (например,generate(IntSupplier)) или снятие ограничения порядка с помощьюBaseStream.unordered()может привести к значительному ускорениюlimit()в параллельных потоках, если семантика вашей ситуации это позволяет. Если требуется соответствие порядку встречи, а вы сталкиваетесь с плохой производительностью или использованием памяти сlimit()в параллельных потоках, переключение на последовательное выполнение с помощьюsequential()может повысить производительность. - Параметры:
-
maxSize- количество элементов, до которого должен быть ограничен поток - Возвращает:
- новый поток
- Выбрасывает:
-
IllegalArgumentException- еслиmaxSizeотрицательное
skip
IntStream skip(long n)
Возвращает поток, содержащий оставшиеся элементы этого потока после отбрасывания первых n элементов потока. Если этот поток содержит меньше n элементов, то будет возвращен пустой поток.
Это операция промежуточной обработки со состоянием.
- Примечание API:
- Хотя
skip()обычно является быстрой операцией для последовательных потоков, она может быть довольно ресурсоемкой для упорядоченных параллельных потоков, особенно для больших значенийn, посколькуskip(n)ограничен пропуском не любых n элементов, а первых n элементов в порядке встречи. Использование неупорядоченного источника потока (например,generate(IntSupplier)) или снятие ограничения порядка с помощьюBaseStream.unordered()может привести к значительному ускорениюskip()в параллельных потоках, если семантика вашей ситуации это позволяет. Если требуется соответствие порядку встречи, а вы сталкиваетесь с плохой производительностью или использованием памяти сskip()в параллельных потоках, переключение на последовательное выполнение с помощьюsequential()может повысить производительность. - Параметры:
-
n- количество ведущих элементов, которые нужно пропустить - Возвращает:
- новый поток
- Выбрасывает:
-
IllegalArgumentException- еслиnотрицательное
forEach
void forEach(IntConsumer action)
Выполняет действие для каждого элемента этого потока.
Это терминальная операция.
Для параллельных потоков эта операция не гарантирует соблюдение порядка встречи потока, так как это бы привело к потере преимуществ параллельности. Для любого заданного элемента действие может быть выполнено в любое время и в любом потоке, который выберет библиотека. Если действие обращается к общим данным, оно отвечает за предоставление необходимой синхронизации.
- Параметры:
-
action- действие, не влияющее на состояние, выполняемое над элементами
forEachOrdered
void forEachOrdered(IntConsumer action)
Выполняет действие для каждого элемента этого потока, гарантируя, что каждый элемент обрабатывается в порядке встречи для потоков, имеющих определенный порядок встречи.
Это терминальная операция.
- Параметры:
-
action- действие, не влияющее на состояние, выполняемое над элементами - См. также:
forEach(IntConsumer)
toArray
int[] toArray()
Возвращает массив, содержащий элементы этого потока.
Это терминальная операция.
- Возвращает:
- массив, содержащий элементы этого потока
reduce
int reduce(int identity,
IntBinaryOperator op) Выполняет операцию сведения над элементами этого потока, используя предоставленное начальное значение и функцию накопления, обладающую ассоциативностью, и возвращает результирующее значение. Это эквивалентно:
int result = identity;
for (int element : this stream)
result = accumulator.applyAsInt(result, element)
return result; , но не ограничено последовательным выполнением.
Значение identity должно быть тождеством для функции накопления. Это означает, что для всех x, accumulator.apply(identity, x) равно x. Функция accumulator должна быть ассоциативной.
Это терминальная операция.
- Примечание API:
- Sum, min, max и average — это все частные случаи редукции. Суммирование потока чисел может быть выражено как:
int sum = integers.reduce(0, (a, b) -> a+b);
или более компактно:int sum = integers.reduce(0, Integer::sum);
Хотя это может показаться более окольным способом выполнения агрегации по сравнению с простым изменением текущей суммы в цикле, операции редукции более эффективно распараллеливаются, без необходимости дополнительной синхронизации и с значительно меньшим риском гонок данных.
- Параметры:
-
identity- значение тождества для функции накопления -
op- ассоциативная, непрерывная, бессостоятельная функция для объединения двух значений - Возвращаемое значение:
- результат редукции
- См. также:
-
sum(),min(),max(),average()
reduce
OptionalInt reduce(IntBinaryOperator op)
Выполняет редукцию над элементами этого потока, используя ассоциативную функцию накопления, и возвращает OptionalInt описывающий уменьшенное значение, если таковое имеется. Это эквивалентно:
boolean foundAny = false;
int result = null;
for (int element : this stream) {
if (!foundAny) {
foundAny = true;
result = element;
}
else
result = accumulator.applyAsInt(result, element);
}
return foundAny ? OptionalInt.of(result) : OptionalInt.empty(); но не ограничено выполнением последовательно.
Функция accumulator должна быть ассоциативной.
Это конечная операция.
- Параметры:
-
op- ассоциативная, непрерывная, бессостоятельная функция для объединения двух значений - Возвращаемое значение:
- результат редукции
- См. также:
reduce(int, IntBinaryOperator)
collect
<R> R collect(Supplier<R> supplier,
ObjIntConsumer<R> accumulator,
BiConsumer<R,R> combiner) Выполняет операцию изменяемой редукции над элементами этого потока. Изменяемая редукция — это редукция, в которой результирующее значение — это изменяемый контейнер результата, например, ArrayList, и элементы включаются путем обновления состояния результата, а не заменой результата. Это даёт результат, эквивалентный:
R result = supplier.get();
for (int element : this stream)
accumulator.accept(result, element);
return result;
Как и reduce(int, IntBinaryOperator), операции collect могут быть распараллелены без необходимости дополнительной синхронизации.
Это конечная операция.
- Тип параметров:
-
R- тип результата - Параметры:
-
supplier- функция, создающая новый контейнер результата. Для параллельного выполнения эта функция может вызываться несколько раз и должна возвращать новое значение каждый раз. -
accumulator- ассоциативная, непрерывная, бессостоятельная функция для включения дополнительного элемента в результат -
combiner- ассоциативная, непрерывная, бессостоятельная функция для объединения двух значений, которая должна быть совместима с функцией накопления - Возвращаемое значение:
- результат редукции
- См. также:
Stream.collect(Supplier, BiConsumer, BiConsumer)
sum
int sum()
Возвращает сумму элементов в этом потоке. Это частный случай редукции и эквивалентно:
return reduce(0, Integer::sum);
Это конечная операция.
- Возвращаемое значение:
- сумма элементов в этом потоке
min
OptionalInt min()
Возвращает OptionalInt описывающий минимальный элемент этого потока, или пустой OptionalInt если этот поток пустой. Это частный случай редукции и эквивалентно:
return reduce(Integer::min);
Это конечная операция.
- Возвращаемое значение:
OptionalIntсодержащий минимальный элемент этого потока, или пустойOptionalIntесли поток пуст
max
OptionalInt max()
Возвращает OptionalInt описывающий максимальный элемент этого потока, или пустой OptionalInt если этот поток пустой. Это частный случай редукции и эквивалентно:
return reduce(Integer::max);
Это конечная операция.
- Возвращаемое значение:
OptionalIntсодержащий максимальный элемент этого потока, или пустойOptionalIntесли поток пуст
count
long count()
Возвращает количество элементов в этом потоке. Это частный случай редукции и эквивалентно:
return mapToLong(e -> 1L).sum();
Это конечная операция.
- Возвращаемое значение:
- количество элементов в этом потоке
average
OptionalDouble average()
Возвращает OptionalDouble описывающую среднее арифметическое элементов этого потока, или пустой OptionalDouble если этот поток пустой. Это частный случай редукции.
Это конечная операция.
- Возвращаемое значение:
OptionalDoubleсодержащий среднее арифметическое элементов этого потока, или пустойOptionalDoubleесли поток пуст
summaryStatistics
IntSummaryStatistics summaryStatistics()
Возвращает IntSummaryStatistics описывающую различные сводные данные об элементах этого потока. Это частный случай редукции.
Это конечная операция.
- Возвращаемое значение:
IntSummaryStatisticsописывающая различные сводные данные об элементах этого потока
anyMatch
boolean anyMatch(IntPredicate predicate)
Возвращает, соответствуют ли какие-либо элементы этого потока предоставленному предикату. Может не вычислять предикат для всех элементов, если это не требуется для определения результата. Если поток пуст, возвращается false и предикат не вычисляется.
- Примечание API:
- Этот метод вычисляет существование квантификации предиката над элементами потока (для некоторого x P(x)).
- Параметры:
-
predicate- непрерывный, бессостоятельный предикат для применения к элементам этого потока - Возвращаемое значение:
-
trueесли какие-либо элементы потока соответствуют предоставленному предикату, в противном случаеfalse
allMatch
boolean allMatch(IntPredicate predicate)
Возвращает, соответствуют ли все элементы этого потока предоставленному предикату. Может не вычислять предикат для всех элементов, если это не требуется для определения результата. Если поток пуст, возвращается true и предикат не вычисляется.
- Примечание API:
- Этот метод вычисляет универсальную квантификацию предиката над элементами потока (для всех x P(x)). Если поток пуст, квантификация считается пустым выполнением и всегда
true(независимо от P(x)). - Параметры:
-
predicate- непрерывный, бессостоятельный предикат для применения к элементам этого потока - Возвращаемое значение:
-
trueесли все элементы потока соответствуют предоставленному предикату или поток пуст, в противном случаеfalse
noneMatch
boolean noneMatch(IntPredicate predicate)
Возвращает, не соответствуют ли никакие элементы этого потока предоставленному предикату. Может не вычислять предикат для всех элементов, если это не требуется для определения результата. Если поток пуст, возвращается true и предикат не вычисляется.
- Примечание API:
- Этот метод вычисляет универсальную квантификацию отрицаемого предиката над элементами потока (для всех x ~P(x)). Если поток пуст, квантификация считается пустым выполнением и всегда
true, независимо от P(x). - Параметры:
-
predicate- непрерывный, бессостоятельный предикат для применения к элементам этого потока - Возвращаемое значение:
-
trueесли ни один элемент потока не соответствует предоставленному предикату или поток пуст, в противном случаеfalse
findFirst
OptionalInt findFirst()
Возвращает OptionalInt описывающий первый элемент этого потока, или пустой OptionalInt если поток пуст. Если у потока нет порядка встречи, то может быть возвращен любой элемент.
- Возвращаемое значение:
OptionalIntописывающий первый элемент этого потока, или пустойOptionalIntесли поток пуст
findAny
OptionalInt findAny()
Возвращает OptionalInt, описывающую некоторый элемент потока, или пустой OptionalInt, если поток пуст.
Это конечная операция с короткой цепочкой вызовов.
Поведение этой операции явно недетерминировано; она свободна выбрать любой элемент в потоке. Это позволяет добиться максимальной производительности в параллельных операциях; недостаток заключается в том, что несколько вызовов на одном и том же источнике могут не возвращать одинаковый результат. (Если нужен стабильный результат, используйте findFirst() вместо этого.)
- Возвращает:
OptionalInt, описывающую некоторый элемент этого потока, или пустойOptionalInt, если поток пуст- См. также:
findFirst()
asLongStream
LongStream asLongStream()
Возвращает LongStream, состоящий из элементов этого потока, преобразованных в long.
- Возвращает:
LongStream, состоящий из элементов этого потока, преобразованных вlong
asDoubleStream
DoubleStream asDoubleStream()
Возвращает DoubleStream , состоящий из элементов этого потока, преобразованных в double.
- Возвращает:
DoubleStream, состоящий из элементов этого потока, преобразованных вdouble
boxed
Stream<Integer> boxed()
Возвращает Stream , состоящий из элементов этого потока, каждый из которых упакован в Integer.
- Возвращает:
Stream, состоящий из элементов этого потока, каждый из которых упакован вInteger
sequential
IntStream sequential()
Описание скопировано из интерфейса: BaseStream
Возвращает эквивалентный поток, который является последовательным. Может вернуть себя, либо потому, что поток уже последовательный, либо потому, что состояние базового потока было изменено на последовательное.
- Определено в:
-
sequentialв интерфейсеBaseStream<Integer,IntStream> - Возвращает:
- последовательный поток
parallel
IntStream parallel()
Описание скопировано из интерфейса: BaseStream
Возвращает эквивалентный поток, который является параллельным. Может вернуть себя, либо потому, что поток уже параллельный, либо потому, что состояние базового потока было изменено на параллельное.
- Определено в:
-
parallelв интерфейсеBaseStream<Integer,IntStream> - Возвращает:
- параллельный поток
iterator
PrimitiveIterator.OfInt iterator()
Описание скопировано из интерфейса: BaseStream
Возвращает итератор для элементов этого потока.
Это конечная операция.
- Определено в:
-
iteratorв интерфейсеBaseStream<Integer,IntStream> - Возвращает:
- итератор элементов для этого потока
spliterator
Spliterator.OfInt spliterator()
Описание скопировано из интерфейса: BaseStream
Возвращает итератор для элементов этого потока.
Это конечная операция.
- Определено в:
-
spliteratorв интерфейсеBaseStream<Integer,IntStream> - Возвращает:
- итератор для элементов этого потока
builder
static IntStream.Builder builder()
Возвращает билдер для IntStream.
- Возвращает:
- билдер потока
empty
static IntStream empty()
Возвращает пустой последовательный IntStream.
- Возвращает:
- пустой последовательный поток
of
static IntStream of(int t)
Возвращает последовательный IntStream, содержащий один элемент.
- Параметры:
-
t- единственный элемент - Возвращает:
- последовательный поток из одного элемента
of
static IntStream of(int... values)
Возвращает последовательный упорядоченный поток, элементы которого заданы.
- Параметры:
-
values- элементы нового потока - Возвращает:
- новый поток
iterate
static IntStream iterate(int seed,
IntUnaryOperator f) Возвращает бесконечный последовательный упорядоченный IntStream, полученный путем итеративного применения функции f к начальному элементу seed, создавая Stream , состоящий из seed, f(seed), f(f(seed)) и т.д.
Первый элемент (позиция 0) в IntStream будет предоставленным seed. Для n > 0, элемент на позиции n, будет результатом применения функции f к элементу на позиции n - 1.
- Параметры:
-
seed- начальный элемент -
f- функция, применяемая к предыдущему элементу для создания нового элемента - Возвращает:
- Новый последовательный
IntStream
generate
static IntStream generate(IntSupplier s)
Возвращает бесконечный последовательный неупорядоченный поток, где каждый элемент генерируется предоставленным IntSupplier. Это подходит для генерации постоянных потоков, потоков случайных элементов и т. д.
- Параметры:
-
s-IntSupplierдля генерируемых элементов - Возвращает:
- новый бесконечный последовательный неупорядоченный
IntStream
range
static IntStream range(int startInclusive,
int endExclusive) Возвращает последовательный упорядоченный IntStream от startInclusive (включительно) до endExclusive (исключая) с увеличением на шаг 1.
- Примечание API:
-
Эквивалентную последовательность возрастающих значений можно получить последовательно с помощью цикла
forследующим образом:for (int i = startInclusive; i < endExclusive ; i++) { ... } - Параметры:
-
startInclusive- начальное значение (включительно) -
endExclusive- исключительная верхняя граница - Возвращает:
- последовательный
IntStreamдля диапазона элементовint
rangeClosed
static IntStream rangeClosed(int startInclusive,
int endInclusive) Возвращает последовательный упорядоченный IntStream от startInclusive (включительно) до endInclusive (включительно) с увеличением на шаг 1.
- Примечание API:
-
Эквивалентную последовательность возрастающих значений можно получить последовательно с помощью цикла
forследующим образом:for (int i = startInclusive; i <= endInclusive ; i++) { ... } - Параметры:
-
startInclusive- начальное значение (включительно) -
endInclusive- верхняя граница (включительно) - Возвращает:
- последовательный
IntStreamдля диапазона элементовint
concat
static IntStream concat(IntStream a,
IntStream b) Создаёт лениво конкатенированный поток, элементы которого — все элементы первого потока, за которыми следуют все элементы второго потока. Результирующий поток упорядочен, если оба входных потока упорядочены, и параллелен, если любой из входных потоков параллелен. При закрытии результирующего потока вызываются обработчики закрытия для обоих входных потоков.
- Примечание о реализации:
- Будьте осторожны при создании потоков из многократной конкатенации. Доступ к элементу глубоко конкатенированного потока может привести к глубоким цепочкам вызовов или даже к
StackOverflowException. - Параметры:
-
a- первый поток -
b- второй поток - Возвращает:
- конкатенацию двух входных потоков
© 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.