美文网首页
Kotlin中函数式编程API(4)✔️聚合函数

Kotlin中函数式编程API(4)✔️聚合函数

作者: 狼性代码人 | 来源:发表于2019-06-13 17:13 被阅读0次

常见的聚合函数除了 reduce 外还有11个,如下:

函数 适用类型 返回数据 说明
any Collection集合、Map集合或数组 布尔值 如果至少有一个元素与指定条件相符,则返回true
all Collection集合、Map集合或数组 布尔值 如果所有元素与指定条件相符,则返回true
count Collection集合、Map集合或数组 Int类型 返回与指定条件相符的元素个数
max() Collection集合或数组 元素自身类型 返回最大元素。如果没有元素,则返回空值
maxBy Collection集合、Map集合或数组 元素自身类型 返回使指定函数产生最大值的第一个元素。如果没有元素,则返回空值
min() Collection集合或数组 元素自身类型 返回最小元素。如果没有元素,则返回空值
minBy Collection集合、Map集合或数组 元素自身类型 返回使指定函数产生最小值的第一个元素。如果没有元素,则返回空值
sum() Collection集合或数组 元素自身类型 返回所有元素之和
sumBy Collection集合或数组 元素自身类型 返回使指定函数计算集合元素总和
average() Collection集合或数组 Double类型 返回所有元素的平均值
none Collection集合、Map集合或数组 布尔值 如果没有元素与指定条件相符,则返回true
  • 案例
fun main(args: Array<String>?) {
    val list = listOf(1, 3, 34, 54, 75)
    val map = mapOf(102 to "小三", 105 to "小鱼", 109 to "小五")

    println(list.any { it > 70 })
    println(list.all { it > 10 })
    println(list.count { it > 50 })
    println(list.max())
    println(map.maxBy { it.key })
    println(list.min())
    println(map.minBy { it.key })
    println(list.sum())
    println(list.sumBy { if (it < 10) it else 0 })
    println(list.average())
    println(map.none { it.key > 110 })
}
// 输出结果

2019-06-13 17:09:20.619 I: true
2019-06-13 17:09:20.619 I: false
2019-06-13 17:09:20.619 I: 2
2019-06-13 17:09:20.631 I: 75
2019-06-13 17:09:20.632 I: 109=小五
2019-06-13 17:09:20.632 I: 1
2019-06-13 17:09:20.632 I: 102=小三
2019-06-13 17:09:20.633 I: 167
2019-06-13 17:09:20.633 I: 4
2019-06-13 17:09:20.633 I: 33.4
2019-06-13 17:09:20.633 I: true

相关文章

网友评论

      本文标题:Kotlin中函数式编程API(4)✔️聚合函数

      本文链接:https://www.haomeiwen.com/subject/yaisfctx.html