GroupingWrapper

Grouping 包装接口, 用于增强 Grouping 功能.

Author

M8Test, [email protected], https://m8test.com

Functions

Link copied to clipboard
abstract fun <R> aggregate(operation: (key: K, accumulator: R?, element: T, first: Boolean) -> R): MapWrapper<K, R>

对每个组应用给定的聚合操作,并将结果存储在 Map 中。

Link copied to clipboard
abstract fun <R, M : MutableMapWrapper<in K, R>> aggregateTo(destination: M, operation: (key: K, accumulator: R?, element: T, first: Boolean) -> R): M

对每个组应用给定的聚合操作,并将结果存储在提供的 MutableMapWrapper 中。

Link copied to clipboard
abstract fun also(block: (Grouping<T, K>) -> Unit): ObjectWrapper<Grouping<T, K>>

对 ObjectWrapper 调用给定的 block 函数,并返回 ObjectWrapper 本身。

Link copied to clipboard
abstract fun apply(block: Grouping<T, K>.() -> Unit): ObjectWrapper<Grouping<T, K>>

对 ObjectWrapper 调用给定的 block 函数,并返回 ObjectWrapper 本身。

Link copied to clipboard
abstract fun eachCount(): MapWrapper<K, Int>

计算每个组中的元素数量,并将结果存储在 Map 中。

Link copied to clipboard
abstract fun <M : MutableMapWrapper<in K, Int>> eachCountTo(destination: M): M

计算每个组中的元素数量,并将结果存储在提供的 MutableMapWrapper 中。

Link copied to clipboard
abstract fun <R> fold(initialValueSelector: (key: K, element: T) -> R, operation: (key: K, accumulator: R, element: T) -> R): MapWrapper<K, R>

对每个组应用给定的折叠操作,并将结果存储在 Map 中。

Link copied to clipboard
abstract fun <R, M : MutableMapWrapper<in K, R>> foldTo(destination: M, initialValueSelector: (key: K, element: T) -> R, operation: (key: K, accumulator: R, element: T) -> R): M

对每个组应用给定的折叠操作,并将结果存储在提供的 MutableMapWrapper 中。

Link copied to clipboard
abstract fun getOrigin(): Grouping<T, K>

获取原始的对象.

Link copied to clipboard
abstract fun <R> let(block: (Grouping<T, K>) -> R): ObjectWrapper<R>?

对 ObjectWrapper 调用给定的 block 函数,并返回 block 函数的结果包装在 ObjectWrapper 中。

Link copied to clipboard
abstract fun reduce(operation: (key: K, accumulator: T, element: T) -> T): MapWrapper<K, T>

对每个组应用给定的 reduce 操作,并将结果存储在 Map 中。

Link copied to clipboard
abstract fun <M : MutableMapWrapper<in K, T>> reduceTo(destination: M, operation: (key: K, accumulator: T, element: T) -> T): M

对每个组应用给定的 reduce 操作,并将结果存储在提供的 MutableMapWrapper 中。

Link copied to clipboard
abstract fun <R> run(block: Grouping<T, K>.() -> R): ObjectWrapper<R>?

对 ObjectWrapper 调用给定的 block 函数,并返回 block 函数的结果包装在 ObjectWrapper 中。

Link copied to clipboard
abstract fun takeIf(predicate: (Grouping<T, K>) -> Boolean): ObjectWrapper<Grouping<T, K>>?

如果 ObjectWrapper 满足给定的 predicate,则返回 ObjectWrapper 本身,否则返回 null 包装在 ObjectWrapper? 中。

Link copied to clipboard
abstract fun takeUnless(predicate: (Grouping<T, K>) -> Boolean): ObjectWrapper<Grouping<T, K>>?

如果 ObjectWrapper 不满足给定的 predicate,则返回 ObjectWrapper 本身,否则返回 null 包装在 ObjectWrapper? 中。