Класс 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<T> |
stream |
Создает новый последовательный или параллельный Stream из Supplier Spliterator. |
static <T> Stream<T> |
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-SupplierSpliterator -
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-SupplierSpliterator.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-SupplierSpliterator.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-SupplierSpliterator.OfDouble -
characteristics- Характеристики разделителяSpliterator.OfDouble. Характеристики должны быть равныsupplier.get().characteristics(), в противном случае может произойти неопределённое поведение при начале терминальной операции. -
parallel- еслиtrue, то возвращаемый поток — параллельный поток; еслиfalse, то возвращаемый поток — последовательный поток. - Возвращает:
- новый последовательный или параллельный
DoubleStream - См. также:
© 1993, 2021, 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/17/docs/api/java.base/java/util/stream/StreamSupport.html