| 限定符和类型 | 方法和说明 |
|---|---|
static <K,A,V> Steam<Map.Entry<K,List<V>>> |
Maps.oneToManyToOne(Map<K,List<A>> middleMap,
Map<A,V> attachMap,
UnaryOperator<Steam<V>>... unaryOperator)
oneToManyToOne.
|
static <K,A,V> Steam<Map.Entry<K,List<V>>> |
Maps.oneToManyToOne(Map<K,List<A>> middleMap,
Map<A,V> attachMap,
UnaryOperator<Steam<V>>... unaryOperator)
oneToManyToOne.
|
static <K,A,V> Steam<Map.Entry<K,List<V>>> |
Maps.oneToOneToMany(Map<K,A> middleMap,
Map<A,List<V>> attachMap,
UnaryOperator<Steam<V>>... unaryOperator)
oneToOneToMany.
|
static <K,A,V> Steam<Map.Entry<K,List<V>>> |
Maps.oneToOneToMany(Map<K,A> middleMap,
Map<A,List<V>> attachMap,
UnaryOperator<Steam<V>>... unaryOperator)
oneToOneToMany.
|
static <K,A,V> Steam<Map.Entry<K,V>> |
Maps.oneToOneToOne(Map<K,A> middleMap,
Map<A,V> attachMap,
UnaryOperator<V>... unaryOperator)
oneToOneToOne.
|
static <K,A,V> Steam<Map.Entry<K,V>> |
Maps.oneToOneToOne(Map<K,A> middleMap,
Map<A,V> attachMap,
UnaryOperator<V>... unaryOperator)
oneToOneToOne.
|
| 限定符和类型 | 方法和说明 |
|---|---|
Steam<T> |
Opp.steam()
|
Steam<T> |
Opp.steam()
|
| 限定符和类型 | 方法和说明 |
|---|---|
Steam<T> |
Steam.Builder.build()
Builds the stream, transitioning this builder to the built state.
|
Steam<T> |
Steam.Builder.build()
Builds the stream, transitioning this builder to the built state.
|
static <T> Steam<T> |
Steam.concat(Iterable<? extends T> a,
Iterable<? extends T> b)
创建一个惰性拼接流,其元素是第一个流的所有元素,然后是第二个流的所有元素。
|
static <T> Steam<T> |
Steam.concat(Iterable<? extends T> a,
Iterable<? extends T> b)
创建一个惰性拼接流,其元素是第一个流的所有元素,然后是第二个流的所有元素。
|
static <T> Steam<T> |
Steam.concat(Stream<? extends T> a,
Stream<? extends T> b)
创建一个惰性拼接流,其元素是第一个流的所有元素,然后是第二个流的所有元素。
|
static <T> Steam<T> |
Steam.concat(Stream<? extends T> a,
Stream<? extends T> b)
创建一个惰性拼接流,其元素是第一个流的所有元素,然后是第二个流的所有元素。
|
<F> Steam<T> |
Steam.distinct(Function<? super T,F> keyExtractor)
返回一个具有去重特征的流 非并行流(顺序流)下对于重复元素,保留遇到顺序中最先出现的元素,并行流情况下不能保证具体保留哪一个
这是一个有状态中间操作
|
<F> Steam<T> |
Steam.distinct(Function<? super T,F> keyExtractor)
返回一个具有去重特征的流 非并行流(顺序流)下对于重复元素,保留遇到顺序中最先出现的元素,并行流情况下不能保证具体保留哪一个
这是一个有状态中间操作
|
static <T> Steam<T> |
Steam.empty()
返回空的串行流
|
static <T> Steam<T> |
Steam.empty()
返回空的串行流
|
<R> Steam<T> |
Steam.filter(Function<? super T,? extends R> mapper,
R value)
过滤元素,返回与 指定操作结果 匹配 指定值 的元素组成的流
这是一个无状态中间操作
|
<R> Steam<T> |
Steam.filter(Function<? super T,? extends R> mapper,
R value)
过滤元素,返回与 指定操作结果 匹配 指定值 的元素组成的流
这是一个无状态中间操作
|
<R> Steam<T> |
Steam.filterContains(Function<? super T,? extends R> mapper,
Iterable<T> others)
过滤同类型集合中某一操作相同值的数据
filter(Function, Object) |
<R> Steam<T> |
Steam.filterContains(Function<? super T,? extends R> mapper,
Iterable<T> others)
过滤同类型集合中某一操作相同值的数据
filter(Function, Object) |
Steam<T> |
Steam.filterIdx(BiPredicate<? super T,Integer> predicate)
过滤元素,返回与指定断言匹配的元素组成的流,断言带下标
|
Steam<T> |
Steam.filterIdx(BiPredicate<? super T,Integer> predicate)
过滤元素,返回与指定断言匹配的元素组成的流,断言带下标
|
<R> Steam<R> |
Steam.flat(Function<? super T,? extends Iterable<? extends R>> mapper)
扩散流操作,可能影响流元素个数,将原有流元素执行mapper操作,返回多个流所有元素组成的流
这是一个无状态中间操作
例如,将users里所有user的id和parentId组合在一起,形成一个新的流:
Steam<Long> ids = Steam.of(users).flatMap(user -> Steam.of(user.getId(), user.getParentId()));
|
<R> Steam<R> |
Steam.flat(Function<? super T,? extends Iterable<? extends R>> mapper)
扩散流操作,可能影响流元素个数,将原有流元素执行mapper操作,返回多个流所有元素组成的流
这是一个无状态中间操作
例如,将users里所有user的id和parentId组合在一起,形成一个新的流:
Steam<Long> ids = Steam.of(users).flatMap(user -> Steam.of(user.getId(), user.getParentId()));
|
<R> Steam<R> |
Steam.flatIdx(BiFunction<? super T,Integer,? extends Iterable<? extends R>> mapper)
扩散流操作,可能影响流元素个数,将原有流元素执行mapper操作,返回多个流所有元素组成的流,操作带下标,并行流时下标永远为-1
这是一个无状态中间操作
|
<R> Steam<R> |
Steam.flatIdx(BiFunction<? super T,Integer,? extends Iterable<? extends R>> mapper)
扩散流操作,可能影响流元素个数,将原有流元素执行mapper操作,返回多个流所有元素组成的流,操作带下标,并行流时下标永远为-1
这是一个无状态中间操作
|
<R> Steam<R> |
Steam.flatMap(Function<? super T,? extends Stream<? extends R>> mapper)
扩散流操作,可能影响流元素个数,将原有流元素执行mapper操作,返回多个流所有元素组成的流
这是一个无状态中间操作
例如,将users里所有user的id和parentId组合在一起,形成一个新的流:
Steam<Long> ids = Steam.of(users).flatMap(user -> Steam.of(user.getId(), user.getParentId()));
|
<R> Steam<R> |
Steam.flatMap(Function<? super T,? extends Stream<? extends R>> mapper)
扩散流操作,可能影响流元素个数,将原有流元素执行mapper操作,返回多个流所有元素组成的流
这是一个无状态中间操作
例如,将users里所有user的id和parentId组合在一起,形成一个新的流:
Steam<Long> ids = Steam.of(users).flatMap(user -> Steam.of(user.getId(), user.getParentId()));
|
static <T> Steam<T> |
Steam.generate(Supplier<T> s)
返回无限串行无序流
其中每一个元素都由给定的
Supplier生成
适用场景在一些生成常量流、随机元素等 |
static <T> Steam<T> |
Steam.generate(Supplier<T> s)
返回无限串行无序流
其中每一个元素都由给定的
Supplier生成
适用场景在一些生成常量流、随机元素等 |
static <T> Steam<T> |
Steam.iterate(T seed,
Predicate<? super T> hasNext,
UnaryOperator<T> next)
返回无限有序流
该流由 初始值 然后判断条件 以及执行 迭代函数 进行迭代获取到元素
例如
Steam.iterate(0, i -> i < 3, i -> ++i)
就可以创建包含元素0,1,2的流,使用AbstractStreamWrapper.limit(long)可以限制元素个数
|
static <T> Steam<T> |
Steam.iterate(T seed,
Predicate<? super T> hasNext,
UnaryOperator<T> next)
返回无限有序流
该流由 初始值 然后判断条件 以及执行 迭代函数 进行迭代获取到元素
例如
Steam.iterate(0, i -> i < 3, i -> ++i)
就可以创建包含元素0,1,2的流,使用AbstractStreamWrapper.limit(long)可以限制元素个数
|
static <T> Steam<T> |
Steam.iterate(T seed,
UnaryOperator<T> f)
返回无限有序流
该流由 初始值 以及执行 迭代函数 进行迭代获取到元素
例如
Steam.iterate(0, i -> i + 1)
就可以创建从0开始,每次+1的无限流,使用AbstractStreamWrapper.limit(long)可以限制元素个数
|
static <T> Steam<T> |
Steam.iterate(T seed,
UnaryOperator<T> f)
返回无限有序流
该流由 初始值 以及执行 迭代函数 进行迭代获取到元素
例如
Steam.iterate(0, i -> i + 1)
就可以创建从0开始,每次+1的无限流,使用AbstractStreamWrapper.limit(long)可以限制元素个数
|
Steam<T> |
Steam.log()
返回叠加调用
PrintStream.println(Object)打印出结果的流 |
Steam<T> |
Steam.log()
返回叠加调用
PrintStream.println(Object)打印出结果的流 |
<R> Steam<R> |
Steam.map(Function<? super T,? extends R> mapper)
返回与指定函数将元素作为参数执行的结果组成的流
这是一个无状态中间操作
|
<R> Steam<R> |
Steam.map(Function<? super T,? extends R> mapper)
返回与指定函数将元素作为参数执行的结果组成的流
这是一个无状态中间操作
|
<R> Steam<R> |
Steam.mapIdx(BiFunction<? super T,Integer,? extends R> mapper)
返回与指定函数将元素作为参数执行的结果组成的流,操作带下标
|
<R> Steam<R> |
Steam.mapIdx(BiFunction<? super T,Integer,? extends R> mapper)
返回与指定函数将元素作为参数执行的结果组成的流,操作带下标
|
<R> Steam<R> |
Steam.mapMulti(BiConsumer<? super T,? super Consumer<R>> mapper)
扩散流操作,可能影响流元素个数,将原有流元素执行mapper操作,返回多个流所有元素组成的流,操作带一个方法,调用该方法可增加元素
这是一个无状态中间操作
|
<R> Steam<R> |
Steam.mapMulti(BiConsumer<? super T,? super Consumer<R>> mapper)
扩散流操作,可能影响流元素个数,将原有流元素执行mapper操作,返回多个流所有元素组成的流,操作带一个方法,调用该方法可增加元素
这是一个无状态中间操作
|
Steam<T> |
Steam.nonNull()
过滤掉空元素
|
Steam<T> |
Steam.nonNull()
过滤掉空元素
|
static <T> Steam<T> |
Steam.of(Iterable<T> iterable)
通过实现了
Iterable接口的对象创建串行流 |
static <T> Steam<T> |
Steam.of(Iterable<T> iterable)
通过实现了
Iterable接口的对象创建串行流 |
static <T> Steam<T> |
Steam.of(Iterable<T> iterable,
boolean parallel)
通过传入的
Iterable创建流 |
static <T> Steam<T> |
Steam.of(Iterable<T> iterable,
boolean parallel)
通过传入的
Iterable创建流 |
static <T> Steam<T> |
Steam.of(Stream<T> stream)
通过传入的
Stream创建流 |
static <T> Steam<T> |
Steam.of(Stream<T> stream)
通过传入的
Stream创建流 |
static <T> Steam<T> |
Steam.of(T... values)
返回包含指定元素的串行流
|
static <T> Steam<T> |
Steam.of(T... values)
返回包含指定元素的串行流
|
static <T> Steam<T> |
Steam.of(T t)
返回包含单个元素的串行流
|
static <T> Steam<T> |
Steam.of(T t)
返回包含单个元素的串行流
|
Steam<T> |
Steam.parallel(boolean parallel)
更改流的并行状态
|
Steam<T> |
Steam.parallel(boolean parallel)
更改流的并行状态
|
Steam<T> |
Steam.peekIdx(SerBiCons<? super T,Integer> action)
peekIdx.
|
Steam<T> |
Steam.peekIdx(SerBiCons<? super T,Integer> action)
peekIdx.
|
Steam<T> |
Steam.push(T... obj)
与给定元素组成的流合并,成为新的流
|
Steam<T> |
Steam.push(T... obj)
与给定元素组成的流合并,成为新的流
|
Steam<T> |
Steam.push(T obj)
与给定元素组成的流合并,成为新的流
|
Steam<T> |
Steam.push(T obj)
与给定元素组成的流合并,成为新的流
|
Steam<T> |
Steam.reverseSorted(Comparator<T> comparator)
反转顺序
|
Steam<T> |
Steam.reverseSorted(Comparator<T> comparator)
反转顺序
|
Steam<T> |
Steam.splice(int start,
int deleteCount,
T... items)
类似js的splice函数
|
Steam<T> |
Steam.splice(int start,
int deleteCount,
T... items)
类似js的splice函数
|
Steam<Steam<T>> |
Steam.split(int batchSize)
按指定长度切分为双层流
形如:[1,2,3,4,5] -> [[1,2], [3,4], [5,6]]
|
Steam<Steam<T>> |
Steam.split(int batchSize)
按指定长度切分为双层流
形如:[1,2,3,4,5] -> [[1,2], [3,4], [5,6]]
|
static <T extends CharSequence> |
Steam.split(T str,
String regex)
拆分字符串,转换为串行流
|
static <T extends CharSequence> |
Steam.split(T str,
String regex)
拆分字符串,转换为串行流
|
Steam<List<T>> |
Steam.splitList(int batchSize)
按指定长度切分为元素为list的流
形如:[1,2,3,4,5] -> [[1,2], [3,4], [5,6]]
|
Steam<List<T>> |
Steam.splitList(int batchSize)
按指定长度切分为元素为list的流
形如:[1,2,3,4,5] -> [[1,2], [3,4], [5,6]]
|
Steam<T> |
Steam.unshift(T... obj)
给定元素组成的流与当前流合并,成为新的流
|
Steam<T> |
Steam.unshift(T... obj)
给定元素组成的流与当前流合并,成为新的流
|
Steam<T> |
Steam.unshift(T obj)
给定元素组成的流与当前流合并,成为新的流
|
Steam<T> |
Steam.unshift(T obj)
给定元素组成的流与当前流合并,成为新的流
|
protected Steam<T> |
Steam.wrap(Stream<T> stream)
构建一个
Steam实例 |
protected Steam<T> |
Steam.wrap(Stream<T> stream)
构建一个
Steam实例 |
<U,R> Steam<R> |
Steam.zip(Iterable<U> other,
BiFunction<? super T,? super U,? extends R> zipper)
将 现有元素 与 给定迭代器中对应位置的元素 使用 zipper 转换为新的元素,并返回新元素组成的流
新流的数量等于旧流元素的数量 使用 zipper 转换时, 如果对应位置上已经没有other元素,则other元素为null |
<U,R> Steam<R> |
Steam.zip(Iterable<U> other,
BiFunction<? super T,? super U,? extends R> zipper)
将 现有元素 与 给定迭代器中对应位置的元素 使用 zipper 转换为新的元素,并返回新元素组成的流
新流的数量等于旧流元素的数量 使用 zipper 转换时, 如果对应位置上已经没有other元素,则other元素为null |
| 限定符和类型 | 方法和说明 |
|---|---|
Steam<Steam<T>> |
Steam.split(int batchSize)
按指定长度切分为双层流
形如:[1,2,3,4,5] -> [[1,2], [3,4], [5,6]]
|
Steam<Steam<T>> |
Steam.split(int batchSize)
按指定长度切分为双层流
形如:[1,2,3,4,5] -> [[1,2], [3,4], [5,6]]
|
| 限定符和类型 | 方法和说明 |
|---|---|
static <T> Collector<T,?,Steam<T>> |
Collective.toSteam()
将流转为
Steam |
static <T> Collector<T,?,Steam<T>> |
Collective.toSteam()
将流转为
Steam |
Copyright © 2023 dromara. All rights reserved.