Spec-Zone.ru › OpenJDK 8

Интерфейс 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

Изменяемый билдер для IntStream.

Методы

Модификатор и тип Метод и описание
boolean allMatch(IntPredicate predicate)

Возвращает, соответствуют ли все элементы этого потока предоставленному предикату.

boolean anyMatch(IntPredicate predicate)

Возвращает, соответствует ли хоть один элемент этого потока предоставленному предикату.

DoubleStream asDoubleStream()

Возвращает DoubleStream, состоящий из элементов этого потока, преобразованных в double.

LongStream asLongStream()

Возвращает LongStream, состоящий из элементов этого потока, преобразованных в long.

OptionalDouble average()

Возвращает OptionalDouble, описывающую среднее арифметическое элементов этого потока, или пустой OptionalDouble если этот поток пустой.

Stream<Integer> boxed()

Возвращает Stream, состоящий из элементов этого потока, каждый из которых обернут в Integer.

static IntStream.Builder builder()

Возвращает билдер для IntStream.

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

IntStream filter(IntPredicate predicate)

Возвращает поток, содержащий элементы этого потока, которые соответствуют заданному предикату.

OptionalInt findAny()

Возвращает OptionalInt, описывающую какой-либо элемент потока, или пустой OptionalInt если поток пуст.

OptionalInt findFirst()

Возвращает OptionalInt, описывающую первый элемент этого потока, или пустой OptionalInt если поток пуст.

IntStream flatMap(IntFunction<? extends IntStream> mapper)

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

void forEach(IntConsumer action)

Выполняет действие для каждого элемента этого потока.

void forEachOrdered(IntConsumer action)

Выполняет действие для каждого элемента этого потока, гарантируя, что каждый элемент обрабатывается в порядке встречи для потоков, имеющих определённый порядок встречи.

static IntStream generate(IntSupplier s)

Возвращает бесконечный последовательный неупорядоченный поток, где каждый элемент генерируется предоставленной IntSupplier.

static IntStream iterate(int seed, IntUnaryOperator f)

Возвращает бесконечный последовательный упорядоченный IntStream, полученный итеративным применением функции f к начальному элементу seed, формируя Stream, состоящий из seed, f(seed), f(f(seed)), и т. д.

PrimitiveIterator.OfInt iterator()

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

IntStream limit(long maxSize)

Возвращает поток, содержащий элементы этого потока, усечённые до длины не более maxSize.

IntStream map(IntUnaryOperator mapper)

Возвращает поток, содержащий результаты применения данной функции к элементам этого потока.

DoubleStream mapToDouble(IntToDoubleFunction mapper)

Возвращает DoubleStream, содержащий результаты применения данной функции к элементам этого потока.

LongStream mapToLong(IntToLongFunction mapper)

Возвращает LongStream, содержащий результаты применения данной функции к элементам этого потока.

<U> Stream<U> mapToObj(IntFunction<? extends U> mapper)

Возвращает Stream с объектным типом, содержащий результаты применения данной функции к элементам этого потока.

OptionalInt max()

Возвращает OptionalInt, описывающую максимальный элемент этого потока, или пустой OptionalInt если этот поток пуст.

OptionalInt min()

Возвращает OptionalInt, описывающую минимальный элемент этого потока, или пустой OptionalInt если этот поток пуст.

boolean noneMatch(IntPredicate predicate)

Возвращает, не соответствует ли ни один элемент этого потока предоставленному предикату.

static IntStream of(int... values)

Возвращает последовательный упорядоченный поток, содержащий указанные значения.

static IntStream of(int t)

Возвращает последовательный IntStream, содержащий один элемент.

IntStream parallel()

Возвращает эквивалентный поток, который является параллельным.

IntStream peek(IntConsumer action)

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

static IntStream range(int startInclusive, int endExclusive)

Возвращает последовательный упорядоченный IntStream от startInclusive (включительно) до endExclusive (исключительно) с приращением 1.

static IntStream rangeClosed(int startInclusive, int endInclusive)

Возвращает последовательный упорядоченный IntStream от startInclusive (включительно) до endInclusive (включительно) с приращением 1.

OptionalInt reduce(IntBinaryOperator op)

Выполняет сокращение над элементами этого потока, используя ассоциативную функцию накопления, и возвращает OptionalInt, описывающую значение результата, если таковое имеется.

int reduce(int identity, IntBinaryOperator op)

Выполняет сокращение над элементами этого потока, используя предоставленное начальное значение и ассоциативную функцию накопления, и возвращает результирующее значение.

IntStream sequential()

Возвращает эквивалентный поток, который является последовательным.

IntStream skip(long n)

Возвращает поток, содержащий оставшиеся элементы этого потока после удаления первых n элементов потока.

IntStream sorted()

Возвращает поток, содержащий элементы этого потока в отсортированном порядке.

Spliterator.OfInt spliterator()

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

int sum()

Возвращает сумму элементов в этом потоке.

IntSummaryStatistics summaryStatistics()

Возвращает IntSummaryStatistics, описывающий различные сводные данные об элементах этого потока.

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.

Spec-Zone.ru

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