- maxby/minby
- filter
- map
- any
高阶函数:把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。
在Kotlin中,也有一些高阶函数,能够帮助我们简化代码,降低实现功能所需的代码量。接下来我将列出几个常见的高阶函数并对源码进行分析,以方便记忆和理解。
maxby/minby
顾名思义,maxby和minby就是求得最大值和最小值的方法。通常,在Java中我们是这样求得最大值与最小值的(普通方法)
假定数据库dogdatabase,内部存有数据:
data class dog(var name:String,var kind:String,var hight:Int,var address:String)
var dogdatabase= listOf<dog>(
dog("妞妞","萨摩耶",23,"北京"),dog("阿贵","田园犬",22,"伊拉克"),
dog("二哈","哈士奇",21,"上海"),dog("撒狗","田园犬",6,"新疆"),
dog("小Q","柴犬",15,"北京"),dog("卤蛋","贵宾犬",21,"新疆"),
dog("妞妞1","不丹",14,"广州"),dog("卤鸡","藏獒",32,"河北"),
dog("妞妞2","萨摩耶"</