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