kotlin: find/findLast函数:查找
一,功能
find
返回匹配给定 predicate 的第一个字符,
如果没有找到这样的字符,则返回 null
findLast
查找符合条件的并返回最后一个符合该条件的数据。
它跟filter的区别就是,filter返回的是结果集合,而find是找到第一个就返回。
二,例子
代码:
//处理按钮点击事件
binding.button1.setOnClickListener {
val numbers = listOf(1, 2, 3, 4, 5, 6, 7)
val firstOdd = numbers.find { it % 2 != 0 }
println("结果:"+firstOdd) // 1
val lastEven = numbers.findLast { it % 2 == 0 }
println("从尾开始结果:"+lastEven) // 6
val first3 = numbers.find { it > 3 }
println(">3结果:"+first3) // 4
//没有符合条件的结果时,返回null
val first100 = numbers.find { it > 100 }
println("> 100 结果:"+first100) // null
}
运行结果:
三,例子
代码:
//处理按钮点击事件
binding.button2.setOnClickListener {
val test = listOf("one", "two", "three", "four", "five", "six")
//从开头查询,字符长度大于2的元素
println("字符长度大于2的元素:"+test.find {
it.length > 2
})
//从尾部查询,字符长度大于3的元素
println("从尾部开始,字符长度大于3的元素:"+test.findLast { it.length > 3 })
}
运行结果: