Класс StreamSupport
public final class StreamSupport extends Object
Этот класс предназначен в основном для разработчиков библиотек, представляющих потоковые представления структур данных; большинство статических методов потоков, предназначенных для конечных пользователей, находятся в различных Stream классах.
- Since:
- 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) следует использовать для уменьшения области потенциального вмешательства в источник. Подробнее см. Невмешательство.
- Type Parameters:
-
T- тип элементов потока - Parameters:
-
spliterator-Spliteratorописывающий элементы потока -
parallel- еслиtrue, возвращаемый поток является параллельным потоком; еслиfalse, возвращаемый поток является последовательным потоком. - Returns:
- новый последовательный или параллельный поток
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 в этом формате обеспечивает уровень косвенности, который уменьшает область потенциального вмешательства в источник. Поскольку поставщик вызывается только после начала терминальной операции, все изменения в источнике до начала терминальной операции отражаются в результате потока. Подробнее см. Невмешательство.
- Type Parameters:
-
T- тип элементов потока - Parameters:
-
supplier-SupplierSpliterator -
characteristics- характеристики сплитератора предоставленногоSpliterator. Характеристики должны быть равныsupplier.get().characteristics(), в противном случае может произойти неопределённое поведение при запуске терминальной операции. -
parallel- еслиtrue, возвращаемый поток является параллельным потоком; еслиfalse, возвращаемый поток является последовательным потоком. - Returns:
- новый последовательный или параллельный поток
Stream - См. также:
intStream
public static IntStream intStream(Spliterator.OfInt spliterator, boolean parallel)
IntStream из Spliterator.OfInt. Сплитератор будет просмотрен, разделён или запрошен для оценки размера только после начала терминальной операции конвейера потока.
Сильно рекомендуется, чтобы сплитератор сообщал о характеристике IMMUTABLE или CONCURRENT, или был позднесвязывающимся. В противном случае, intStream(java.util.function.Supplier, int, boolean) следует использовать для уменьшения области потенциального вмешательства в источник. Подробнее см. Невмешательство.
- Parameters:
-
spliterator-Spliterator.OfIntописывающий элементы потока -
parallel- еслиtrue, возвращаемый поток является параллельным потоком; еслиfalse, возвращаемый поток является последовательным потоком. - Returns:
- новый последовательный или параллельный поток
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 в этом формате обеспечивает уровень косвенности, который уменьшает область потенциального вмешательства в источник. Поскольку поставщик вызывается только после начала терминальной операции, все изменения в источнике до начала терминальной операции отражаются в результате потока. Подробнее см. Невмешательство.
- Parameters:
-
supplier-SupplierSpliterator.OfInt -
characteristics- характеристики сплитератора предоставленногоSpliterator.OfInt. Характеристики должны быть равныsupplier.get().characteristics(), в противном случае может произойти неопределённое поведение при запуске терминальной операции. -
parallel- еслиtrue, возвращаемый поток является параллельным потоком; еслиfalse, возвращаемый поток является последовательным потоком. - Returns:
- новый последовательный или параллельный поток
IntStream - См. также:
longStream
public static LongStream longStream(Spliterator.OfLong spliterator, boolean parallel)
LongStream из Spliterator.OfLong. Сплитератор будет просмотрен, разделён или запрошен для оценки размера только после начала терминальной операции конвейера потока.
Сильно рекомендуется, чтобы сплитератор сообщал о характеристике IMMUTABLE или CONCURRENT, или был позднесвязывающимся. В противном случае, longStream(java.util.function.Supplier, int, boolean) следует использовать для уменьшения области потенциального вмешательства в источник. Подробнее см. Невмешательство.
- Parameters:
-
spliterator-Spliterator.OfLongописывающий элементы потока -
parallel- еслиtrue, возвращаемый поток является параллельным потоком; еслиfalse, возвращаемый поток является последовательным потоком. - Returns:
- новый последовательный или параллельный поток
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 в этом формате обеспечивает уровень косвенности, который уменьшает область потенциального вмешательства в источник. Поскольку поставщик вызывается только после начала терминальной операции, все изменения в источнике до начала терминальной операции отражаются в результате потока. Подробнее см. Невмешательство.
- Parameters:
-
supplier-SupplierSpliterator.OfLong -
characteristics- характеристики сплитератора предоставленногоSpliterator.OfLong. Характеристики должны быть равныsupplier.get().characteristics(), в противном случае может произойти неопределённое поведение при запуске терминальной операции. -
parallel- еслиtrue, возвращаемый поток является параллельным потоком; еслиfalse, возвращаемый поток является последовательным потоком. - Returns:
- новый последовательный или параллельный поток
LongStream - См. также:
doubleStream
public static DoubleStream doubleStream(Spliterator.OfDouble spliterator, boolean parallel)
DoubleStream из Spliterator.OfDouble. Сплитератор будет просмотрен, разделён или запрошен для оценки размера только после начала терминальной операции конвейера потока.
Сильно рекомендуется, чтобы сплитератор сообщал о характеристике IMMUTABLE или CONCURRENT, или был позднесвязывающимся. В противном случае, doubleStream(java.util.function.Supplier, int, boolean) следует использовать для уменьшения области потенциального вмешательства в источник. Подробнее см. Невмешательство.
- Parameters:
-
spliterator-Spliterator.OfDoubleописывающий элементы потока -
parallel- еслиtrue, возвращаемый поток является параллельным потоком; еслиfalse, возвращаемый поток является последовательным потоком. - Returns:
- новый последовательный или параллельный поток
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-SupplierSpliterator.OfDouble -
characteristics- Характеристики разделителя предоставленногоSpliterator.OfDouble. Характеристики должны быть равныsupplier.get().characteristics(), в противном случае может произойти неопределённое поведение при начале терминальной операции. -
parallel- еслиtrue, то возвращаемый поток — параллельный поток; еслиfalse, то возвращаемый поток — последовательный поток. - Возвращает:
- новый последовательный или параллельный
DoubleStream - См. также:
© 1993, 2023, 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/21/docs/api/java.base/java/util/stream/StreamSupport.html