Класс StreamSupport
public final class StreamSupport extends Object
Этот класс предназначен преимущественно для разработчиков библиотек, представляющих представления потоков для структур данных; большинство статических методов для работы с потоками, предназначенных для конечных пользователей, находятся в различных классах Stream.
- Начиная с версии:
- 1.8
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static DoubleStream |
doubleStream |
Создает новый последовательный или параллельный DoubleStream из Supplier для Spliterator.OfDouble. |
static DoubleStream |
doubleStream |
Создает новый последовательный или параллельный DoubleStream из Spliterator.OfDouble. |
static IntStream |
intStream |
Создает новый последовательный или параллельный IntStream из Supplier для Spliterator.OfInt. |
static IntStream |
intStream |
Создает новый последовательный или параллельный IntStream из Spliterator.OfInt. |
static LongStream |
longStream |
Создает новый последовательный или параллельный LongStream из Supplier для Spliterator.OfLong. |
static LongStream |
longStream |
Создает новый последовательный или параллельный LongStream из Spliterator.OfLong. |
static <T> Stream |
stream |
Создает новый последовательный или параллельный Stream из Supplier для Spliterator. |
static <T> Stream |
stream |
Создает новый последовательный или параллельный Stream из Spliterator. |
Подробное описание методов
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 - См. также:
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 - См. также:
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 - См. также:
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 - См. также:
© 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