Spec-Zone.ru › OpenJDK 25

Класс StreamSupport

java.lang.Object
java.util.stream.StreamSupport
public final class StreamSupport extends Object
Низкоуровневые вспомогательные методы для создания потоков и работы с ними.

Этот класс предназначен преимущественно для разработчиков библиотек, представляющих представления потоков для структур данных; большинство статических методов для работы с потоками, предназначенных для конечных пользователей, находятся в различных классах Stream.

Начиная с версии:
1.8

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

Модификатор и тип Метод Описание
static DoubleStream doubleStream(Supplier<? extends Spliterator.OfDouble> supplier, int characteristics, boolean parallel)
Создает новый последовательный или параллельный DoubleStream из Supplier для Spliterator.OfDouble.
static DoubleStream doubleStream(Spliterator.OfDouble spliterator, boolean parallel)
Создает новый последовательный или параллельный DoubleStream из Spliterator.OfDouble.
static IntStream intStream(Supplier<? extends Spliterator.OfInt> supplier, int characteristics, boolean parallel)
Создает новый последовательный или параллельный IntStream из Supplier для Spliterator.OfInt.
static IntStream intStream(Spliterator.OfInt spliterator, boolean parallel)
Создает новый последовательный или параллельный IntStream из Spliterator.OfInt.
static LongStream longStream(Supplier<? extends Spliterator.OfLong> supplier, int characteristics, boolean parallel)
Создает новый последовательный или параллельный LongStream из Supplier для Spliterator.OfLong.
static LongStream longStream(Spliterator.OfLong spliterator, boolean parallel)
Создает новый последовательный или параллельный LongStream из Spliterator.OfLong.
static <T> Stream<T> stream(Supplier<? extends Spliterator<T>> supplier, int characteristics, boolean parallel)
Создает новый последовательный или параллельный Stream из Supplier для Spliterator.
static <T> Stream<T> stream(Spliterator<T> spliterator, boolean parallel)
Создает новый последовательный или параллельный Stream из Spliterator.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

stream

public static <T> Stream<T> stream(Spliterator<T> spliterator, boolean parallel)
Создает новый последовательный или параллельный Stream из Spliterator.

Обход сплитератора, его разделение и запрос его приблизительного размера выполняются только после начала выполнения терминальной операции конвейера потока.

Настоятельно рекомендуется, чтобы сплитератор сообщал характеристику IMMUTABLE или CONCURRENT либо поддерживал отложенное связывание. В противном случае для уменьшения вероятности вмешательства в источник следует использовать stream(java.util.function.Supplier, int, boolean). Подробнее см. раздел Отсутствие вмешательства.

Параметры типа:
T — тип элементов потока
Параметры:
spliterator — Spliterator, описывающий элементы потока
parallel — если true, возвращаемый поток является параллельным; если false, возвращаемый поток является последовательным.
Возвращает:
новый последовательный или параллельный Stream

stream

public static <T> Stream<T> stream(Supplier<? extends Spliterator<T>> supplier, int characteristics, boolean parallel)
Создает новый последовательный или параллельный Stream из Supplier для Spliterator.

Метод Supplier.get() будет вызван для поставщика не более одного раза и только после начала выполнения терминальной операции конвейера потока.

Для сплитераторов, сообщающих характеристику IMMUTABLE или CONCURRENT либо поддерживающих отложенное связывание, вероятно, эффективнее использовать stream(java.util.Spliterator, boolean).

Использование Supplier в этой форме обеспечивает уровень косвенности, который уменьшает вероятность вмешательства в источник. Поскольку поставщик вызывается только после начала выполнения терминальной операции, все изменения источника, внесенные до начала выполнения этой операции, отражаются в результате потока. Подробнее см. раздел Отсутствие вмешательства.

Параметры типа:
T — тип элементов потока
Параметры:
supplier — Supplier для Spliterator
characteristics — характеристики сплитератора, предоставляемого Spliterator. Характеристики должны быть равны supplier.get().characteristics(), иначе при начале выполнения терминальной операции возможно неопределенное поведение.
parallel — если true, возвращаемый поток является параллельным; если false, возвращаемый поток является последовательным.
Возвращает:
новый последовательный или параллельный Stream
См. также:
  • stream(java.util.Spliterator, boolean)

intStream

public static IntStream intStream(Spliterator.OfInt spliterator, boolean parallel)
Создает новый последовательный или параллельный IntStream из Spliterator.OfInt.

Обход сплитератора, его разделение и запрос его приблизительного размера выполняются только после начала выполнения терминальной операции конвейера потока.

Настоятельно рекомендуется, чтобы сплитератор сообщал характеристику IMMUTABLE или CONCURRENT либо поддерживал отложенное связывание. В противном случае для уменьшения вероятности вмешательства в источник следует использовать intStream(java.util.function.Supplier, int, boolean). Подробнее см. раздел Отсутствие вмешательства.

Параметры:
spliterator — Spliterator.OfInt, описывающий элементы потока
parallel — если true, возвращаемый поток является параллельным; если false, возвращаемый поток является последовательным.
Возвращает:
новый последовательный или параллельный IntStream

intStream

public static IntStream intStream(Supplier<? extends Spliterator.OfInt> supplier, int characteristics, boolean parallel)
Создает новый последовательный или параллельный IntStream из Supplier для Spliterator.OfInt.

Метод Supplier.get() будет вызван для поставщика не более одного раза и только после начала выполнения терминальной операции конвейера потока.

Для сплитераторов, сообщающих характеристику IMMUTABLE или CONCURRENT либо поддерживающих отложенное связывание, вероятно, эффективнее использовать intStream(java.util.Spliterator.OfInt, boolean).

Использование Supplier в этой форме обеспечивает уровень косвенности, который уменьшает вероятность вмешательства в источник. Поскольку поставщик вызывается только после начала выполнения терминальной операции, все изменения источника, внесенные до начала выполнения этой операции, отражаются в результате потока. Подробнее см. раздел Отсутствие вмешательства.

Параметры:
supplier — Supplier для Spliterator.OfInt
characteristics — характеристики сплитератора, предоставляемого Spliterator.OfInt. Характеристики должны быть равны supplier.get().characteristics(), иначе при начале выполнения терминальной операции возможно неопределенное поведение.
parallel — если true, возвращаемый поток является параллельным; если false, возвращаемый поток является последовательным.
Возвращает:
новый последовательный или параллельный IntStream
См. также:
  • intStream(java.util.Spliterator.OfInt, boolean)

longStream

public static LongStream longStream(Spliterator.OfLong spliterator, boolean parallel)
Создает новый последовательный или параллельный LongStream из Spliterator.OfLong.

Обход сплитератора, его разделение и запрос его приблизительного размера выполняются только после начала выполнения терминальной операции конвейера потока.

Настоятельно рекомендуется, чтобы сплитератор сообщал характеристику IMMUTABLE или CONCURRENT либо поддерживал отложенное связывание. В противном случае для уменьшения вероятности вмешательства в источник следует использовать longStream(java.util.function.Supplier, int, boolean). Подробнее см. раздел Отсутствие вмешательства.

Параметры:
spliterator — Spliterator.OfLong, описывающий элементы потока
parallel — если true, возвращаемый поток является параллельным; если false, возвращаемый поток является последовательным.
Возвращает:
новый последовательный или параллельный LongStream

longStream

public static LongStream longStream(Supplier<? extends Spliterator.OfLong> supplier, int characteristics, boolean parallel)
Создает новый последовательный или параллельный LongStream из Supplier для Spliterator.OfLong.

Метод Supplier.get() будет вызван для поставщика не более одного раза и только после начала выполнения терминальной операции конвейера потока.

Для сплитераторов, сообщающих характеристику IMMUTABLE или CONCURRENT либо поддерживающих отложенное связывание, вероятно, эффективнее использовать longStream(java.util.Spliterator.OfLong, boolean).

Использование Supplier в этой форме обеспечивает уровень косвенности, который уменьшает вероятность вмешательства в источник. Поскольку поставщик вызывается только после начала выполнения терминальной операции, все изменения источника, внесенные до начала выполнения этой операции, отражаются в результате потока. Подробнее см. раздел Отсутствие вмешательства.

Параметры:
supplier — Supplier для Spliterator.OfLong
characteristics — характеристики сплитератора, предоставляемого Spliterator.OfLong. Характеристики должны быть равны supplier.get().characteristics(), иначе при начале выполнения терминальной операции возможно неопределенное поведение.
parallel — если true, возвращаемый поток является параллельным; если false, возвращаемый поток является последовательным.
Возвращает:
новый последовательный или параллельный LongStream
См. также:
  • longStream(java.util.Spliterator.OfLong, boolean)

doubleStream

public static DoubleStream doubleStream(Spliterator.OfDouble spliterator, boolean parallel)
Создает новый последовательный или параллельный DoubleStream из Spliterator.OfDouble.

Обход сплитератора, его разделение и запрос его приблизительного размера выполняются только после начала выполнения терминальной операции конвейера потока.

Настоятельно рекомендуется, чтобы сплитератор сообщал характеристику IMMUTABLE или CONCURRENT либо поддерживал отложенное связывание. В противном случае для уменьшения вероятности вмешательства в источник следует использовать doubleStream(java.util.function.Supplier, int, boolean). Подробнее см. раздел Отсутствие вмешательства.

Параметры:
spliterator — Spliterator.OfDouble, описывающий элементы потока
parallel — если true, возвращаемый поток является параллельным; если false, возвращаемый поток является последовательным.
Возвращает:
новый последовательный или параллельный DoubleStream

doubleStream

public static DoubleStream doubleStream(Supplier<? extends Spliterator.OfDouble> supplier, int characteristics, boolean parallel)
Создает новый последовательный или параллельный DoubleStream из Supplier для Spliterator.OfDouble.

Метод Supplier.get() будет вызван для поставщика не более одного раза и только после начала выполнения терминальной операции конвейера потока.

Для сплитераторов, сообщающих характеристику IMMUTABLE или CONCURRENT либо поддерживающих отложенное связывание, вероятно, эффективнее использовать doubleStream(java.util.Spliterator.OfDouble, boolean).

Использование Supplier в этой форме обеспечивает уровень косвенности, который уменьшает вероятность вмешательства в источник. Поскольку поставщик вызывается только после начала выполнения терминальной операции, все изменения источника, внесенные до начала выполнения этой операции, отражаются в результате потока. Подробнее см. раздел Отсутствие вмешательства.

Параметры:
supplier — Supplier для Spliterator.OfDouble
characteristics — характеристики сплитератора, предоставляемого Spliterator.OfDouble. Характеристики должны быть равны supplier.get().characteristics(), иначе при начале выполнения терминальной операции возможно неопределенное поведение.
parallel — если true, возвращаемый поток является параллельным; если false, возвращаемый поток является последовательным.
Возвращает:
новый последовательный или параллельный DoubleStream
См. также:
  • doubleStream(java.util.Spliterator.OfDouble, boolean)

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/stream/StreamSupport.html

Spec-Zone.ru

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