Interface TerminableWrappedStream<T,S extends TerminableWrappedStream<T,S>>
- Type Parameters:
T- 流中的元素类型S-TerminableWrappedStream的实现类类型
- All Superinterfaces:
AutoCloseable,BaseStream<T,,Stream<T>> Iterable<T>,Stream<T>,WrappedStream<T,S>
- All Known Implementing Classes:
EasyStream,EnhancedWrappedStream,EntryStream
public interface TerminableWrappedStream<T,S extends TerminableWrappedStream<T,S>>
extends WrappedStream<T,S>
WrappedStream的扩展,用于为实现类提供更多终端操作方法的增强接口,
该接口提供的方法,返回值类型都不为Stream。- Since:
- Java 17+
- Author:
- Kimi Liu
-
Nested Class Summary
Nested classes/interfaces inherited from interface java.util.stream.Stream
Stream.Builder<T> -
Field Summary
Fields inherited from interface org.miaixz.bus.core.center.stream.WrappedStream
NOT_FOUND_ELEMENT_INDEX -
Method Summary
Modifier and TypeMethodDescription获取流中指定下标的元素,如果是负数,则从最后一个开始数起获取与给定断言匹配的第一个元素default intfindFirstIdx(Predicate<? super T> predicate) 获取与给定断言匹配的第一个元素的下标,并行流下标永远为-1findLast()获取最后一个元素获取与给定断言匹配的最后一个元素default intfindLastIdx(Predicate<? super T> predicate) 获取与给定断言匹配的最后一个元素的下标,并行流下标永远为-1default voidforEachIdx(BiConsumer<? super T, Integer> action) 对流里面的每一个元素执行一个操作,操作带下标,并行流时下标永远为-1 这是一个终端操作default voidforEachOrderedIdx(BiConsumer<? super T, Integer> action) 对流里面的每一个元素按照顺序执行一个操作,操作带下标,并行流时下标永远为-1 这是一个终端操作通过给定分组依据进行分组default <K,D, A, M extends Map<K, D>>
Mgroup(Function<? super T, ? extends K> classifier, Supplier<M> mapFactory, Collector<? super T, A, D> downstream) 通过给定分组依据进行分组default <K,A, D> Map <K, D> 通过给定分组依据进行分组default booleanisEmpty()流是否为空default boolean流是否不为空default Stringjoin()返回拼接后的字符串default Stringjoin(CharSequence delimiter) 返回拼接后的字符串default Stringjoin(CharSequence delimiter, CharSequence prefix, CharSequence suffix) 返回拼接后的字符串根据给定判断条件分组default <C extends Collection<T>>
Map<Boolean, C> 根据给定判断条件分组根据给定判断条件分组default <C extends Collection<T>>
C转换成集合toIdxMap()转换为map,key为下标,value为元素转换为map,key为下标,value为给定操作执行后的返回值toList()转换为ArrayList转换为map,key为给定操作执行后的返回值,value为当前元素default <K,U> Map <K, U> 转换为map,data,value为给定操作执行后的返回值default <K,U> Map <K, U> toMap(Function<? super T, ? extends K> keyMapper, Function<? super T, ? extends U> valueMapper, BinaryOperator<U> mergeFunction) 转换为map,data,value为给定操作执行后的返回值default <K,U, M extends Map<K, U>>
MtoMap(Function<? super T, ? extends K> keyMapper, Function<? super T, ? extends U> valueMapper, BinaryOperator<U> mergeFunction, Supplier<M> mapSupplier) 转换为map,data,value为给定操作执行后的返回值toSet()转换为HashSet换为不可变集合default <K,U> Map <K, U> toUnmodifiableMap(Function<? super T, ? extends K> keyMapper, Function<? super T, ? extends U> valueMapper) 转换为不可变map,data,value为给定操作执行后的返回值default <K,U> Map <K, U> toUnmodifiableMap(Function<? super T, ? extends K> keyMapper, Function<? super T, ? extends U> valueMapper, BinaryOperator<U> mergeFunction) 转换为不可变map,data,value为给定操作执行后的返回值换为不可变集合与给定的可迭代对象转换成map,key为现有元素,value为给定可迭代对象迭代的元素 至少包含全部的key,如果对应位置上的value不存在,则为nullMethods inherited from interface java.util.stream.Stream
dropWhile, flatMap, map, mapMulti, mapMultiToDouble, mapMultiToInt, mapMultiToLong, takeWhileMethods inherited from interface org.miaixz.bus.core.center.stream.WrappedStream
allMatch, anyMatch, close, collect, collect, count, distinct, easyStream, equals, filter, findAny, findFirst, flatMapToDouble, flatMapToInt, flatMapToLong, forEach, forEachOrdered, hashCode, isParallel, iterator, limit, mapToDouble, mapToInt, mapToLong, max, min, noneMatch, onClose, parallel, peek, reduce, reduce, reduce, sequential, skip, sorted, sorted, spliterator, toArray, toArray, toString, unordered, unwrap, wrap
-
Method Details
-
toList
转换为ArrayList -
toUnmodifiableList
换为不可变集合- Returns:
- 集合
- See Also:
-
toSet
转换为HashSet- Returns:
- 集合
- See Also:
-
toUnmodifiableSet
换为不可变集合- Returns:
- 集合
- See Also:
-
toColl
转换成集合- Type Parameters:
C- 集合类型- Parameters:
collectionFactory- 集合工厂(可以是集合构造器)- Returns:
- 集合
-
toMap
转换为map,key为给定操作执行后的返回值,value为当前元素- Type Parameters:
K- key类型- Parameters:
keyMapper- 指定的key操作- Returns:
- map
- See Also:
-
toMap
default <K,U> Map<K,U> toMap(Function<? super T, ? extends K> keyMapper, Function<? super T, ? extends U> valueMapper) 转换为map,data,value为给定操作执行后的返回值- Type Parameters:
K- key类型U- value类型- Parameters:
keyMapper- 指定的key操作valueMapper- 指定value操作- Returns:
- map
- See Also:
-
toUnmodifiableMap
default <K,U> Map<K,U> toUnmodifiableMap(Function<? super T, ? extends K> keyMapper, Function<? super T, ? extends U> valueMapper) 转换为不可变map,data,value为给定操作执行后的返回值- Type Parameters:
K- key类型U- value类型- Parameters:
keyMapper- 指定的key操作valueMapper- 指定value操作- Returns:
- map
- See Also:
-
toMap
default <K,U> Map<K,U> toMap(Function<? super T, ? extends K> keyMapper, Function<? super T, ? extends U> valueMapper, BinaryOperator<U> mergeFunction) 转换为map,data,value为给定操作执行后的返回值- Type Parameters:
K- key类型U- value类型- Parameters:
keyMapper- 指定的key操作valueMapper- 指定value操作mergeFunction- 合并操作- Returns:
- map
- See Also:
-
toUnmodifiableMap
default <K,U> Map<K,U> toUnmodifiableMap(Function<? super T, ? extends K> keyMapper, Function<? super T, ? extends U> valueMapper, BinaryOperator<U> mergeFunction) 转换为不可变map,data,value为给定操作执行后的返回值- Type Parameters:
K- key类型U- value类型- Parameters:
keyMapper- 指定的key操作valueMapper- 指定value操作mergeFunction- 合并操作- Returns:
- map
- See Also:
-
toMap
default <K,U, M toMapM extends Map<K, U>> (Function<? super T, ? extends K> keyMapper, Function<? super T, ? extends U> valueMapper, BinaryOperator<U> mergeFunction, Supplier<M> mapSupplier) 转换为map,data,value为给定操作执行后的返回值- Type Parameters:
K- key类型U- value类型M- map类型- Parameters:
keyMapper- 指定的key操作valueMapper- 指定value操作mergeFunction- 合并操作mapSupplier- map工厂- Returns:
- map
-
toIdxMap
转换为map,key为下标,value为元素- Returns:
- map
-
toIdxMap
转换为map,key为下标,value为给定操作执行后的返回值- Type Parameters:
U- value类型- Parameters:
valueMapper- 指定value操作- Returns:
- map
-
toZip
与给定的可迭代对象转换成map,key为现有元素,value为给定可迭代对象迭代的元素 至少包含全部的key,如果对应位置上的value不存在,则为null- Type Parameters:
R- 可迭代对象迭代的元素类型- Parameters:
other- 可迭代对象- Returns:
- map,key为现有元素,value为给定可迭代对象迭代的元素; 至少包含全部的key,如果对应位置上的value不存在,则为null; 如果key重复, 则保留最后一个关联的value;
-
findFirst
获取与给定断言匹配的第一个元素- Parameters:
predicate- 断言- Returns:
- 与给定断言匹配的第一个元素
-
findFirstIdx
获取与给定断言匹配的第一个元素的下标,并行流下标永远为-1- Parameters:
predicate- 断言- Returns:
- 与给定断言匹配的第一个元素的下标,如果不存在则返回-1
-
findLast
获取最后一个元素- Returns:
- 最后一个元素
-
findLast
获取与给定断言匹配的最后一个元素- Parameters:
predicate- 断言- Returns:
- 与给定断言匹配的最后一个元素
-
findLastIdx
获取与给定断言匹配的最后一个元素的下标,并行流下标永远为-1- Parameters:
predicate- 断言- Returns:
- 与给定断言匹配的最后一个元素的下标,如果不存在则返回-1
-
at
获取流中指定下标的元素,如果是负数,则从最后一个开始数起- Parameters:
idx- 下标- Returns:
- 指定下标的元素
-
isEmpty
default boolean isEmpty()流是否为空- Returns:
- 流是否为空
-
isNotEmpty
default boolean isNotEmpty()流是否不为空- Returns:
- 流是否不为空
-
join
返回拼接后的字符串- Returns:
- 拼接后的字符串
- See Also:
-
join
返回拼接后的字符串- Parameters:
delimiter- 分隔符- Returns:
- 拼接后的字符串
- See Also:
-
join
返回拼接后的字符串- Parameters:
delimiter- 分隔符prefix- 前缀suffix- 后缀- Returns:
- 拼接后的字符串
-
group
通过给定分组依据进行分组- Type Parameters:
K- 实体中的分组依据对应类型,也是Map中key的类型- Parameters:
classifier- 分组依据,得到的键为null时不会抛出异常- Returns:
- map
- See Also:
-
group
default <K,A, Map<K,D> D> group(Function<? super T, ? extends K> classifier, Collector<? super T, A, D> downstream) 通过给定分组依据进行分组- Type Parameters:
K- 实体中的分组依据对应类型,也是Map中key的类型A- 下游操作在进行中间操作时对应类型D- 下游操作对应返回类型,也是Map中value的类型- Parameters:
classifier- 分组依据,得到的键为null时不会抛出异常downstream- 下游操作- Returns:
- map
- See Also:
-
group
default <K,D, M groupA, M extends Map<K, D>> (Function<? super T, ? extends K> classifier, Supplier<M> mapFactory, Collector<? super T, A, D> downstream) 通过给定分组依据进行分组- Type Parameters:
K- 实体中的分组依据对应类型,也是Map中key的类型D- 下游操作对应返回类型,也是Map中value的类型A- 下游操作在进行中间操作时对应类型M- 最后返回结果Map类型- Parameters:
classifier- 分组依据,得到的键为null时不会抛出异常mapFactory- 提供的mapdownstream- 下游操作- Returns:
- map
- See Also:
-
partition
根据给定判断条件分组- Parameters:
predicate- 判断条件- Returns:
- map
- See Also:
-
partition
default <C extends Collection<T>> Map<Boolean,C> partition(Predicate<T> predicate, Supplier<C> collFactory) 根据给定判断条件分组- Type Parameters:
C- 值类型- Parameters:
predicate- 判断条件collFactory- 提供的集合- Returns:
- map
- See Also:
-
partition
根据给定判断条件分组- Type Parameters:
R- 返回值类型- Parameters:
predicate- 判断条件downstream- 下游操作- Returns:
- map
-
forEachIdx
对流里面的每一个元素执行一个操作,操作带下标,并行流时下标永远为-1 这是一个终端操作- Parameters:
action- 操作
-
forEachOrderedIdx
对流里面的每一个元素按照顺序执行一个操作,操作带下标,并行流时下标永远为-1 这是一个终端操作- Parameters:
action- 操作
-