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, gather, 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
-
toUnmodifiableList
-
toSet
-
toUnmodifiableSet
-
toColl
转换成集合- Type Parameters:
C- 集合类型- Parameters:
collectionFactory- 集合工厂(可以是集合构造器)- Returns:
- 集合
-
toMap
-
toMap
-
toUnmodifiableMap
-
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
-
toIdxMap
-
toZip
-
findFirst
-
findFirstIdx
-
findLast
-
findLast
-
findLastIdx
-
at
-
isEmpty
default boolean isEmpty()流是否为空- Returns:
- 流是否为空
-
isNotEmpty
default boolean isNotEmpty()流是否不为空- Returns:
- 流是否不为空
-
join
-
join
返回拼接后的字符串- Parameters:
delimiter- 分隔符- Returns:
- 拼接后的字符串
- See Also:
-
join
返回拼接后的字符串- Parameters:
delimiter- 分隔符prefix- 前缀suffix- 后缀- Returns:
- 拼接后的字符串
-
group
-
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
-
partition
-
partition
-
forEachIdx
对流里面的每一个元素执行一个操作,操作带下标,并行流时下标永远为-1 这是一个终端操作- Parameters:
action- 操作
-
forEachOrderedIdx
对流里面的每一个元素按照顺序执行一个操作,操作带下标,并行流时下标永远为-1 这是一个终端操作- Parameters:
action- 操作
-