高阶函数与 lambda 表达式
5.1 Lambda表达式和成员引用
5.1.1 Lambda简介:作为函数参数的代码块
button.setOnClickLisener(new OnClickListener(){
@Override
public void onClick(View view){
//点击后执行的动作
}
}button.setOnClickListener(/*点击后执行的动作*/)5.1.2 Lambda和集合
data class Person(val name:String,val age:Int)
fun findTheOldest(people:List<Person>){
var maxAge = 0
var theOldest:Person? = null
for (person in people){
if(person.age > maxAge){
maxAge = person.age
theOldest = person
}
}
println(theOldest)
}5.1.3 Lambda表达式的语法

5.1.4 在作用域中访问变量
5.1.5 成员引用
5.2 集合的函数式API
5.2.1 基础:filter和map
5.2.2 “all” “any” “count” 和 “find”:对集合应用判断式
5.2.3 groupBy:把列表转换成分组的map
5.2.4 flatMap和flatten:处理嵌套集合中的元素
5.3 惰性集合操作:序列
5.3.1 执行序列操作:中间和末端操作

5.3.2 创建序列
5.4 使用Java函数式接口
5.4.1 把lambda当做参数传递给Java方法
5.4.2 SAM构造方法:显式地把lambda转换成函数式接口
5.5 带接收者的lambda:“with”与“apply”
5.5.1 “with”函数
5.5.2 “apply”函数
最后更新于