all 与any
- all 集合内的所有成员都满足某条件。
- any 集合内的任意一成员满足某条件
代码
fun main() {
var a = A("a",3)
var a1 = A("a",55)
var b = a.copy(b = 20)
var list = arrayListOf(a,a1,b)
println(list)
println(list.all { a:A -> a.b == 3 })
println(list.any { a:A -> a.b == 3 })
}
结果
[A(a=a, b=3), A(a=a, b=55), A(a=a, b=20)]
false
true
count
查找集合满足某条件的成员个数
代码
fun main() {
var a = A("a", 3)
var a1 = A("a", 55)
var a2 = A("a", 55)
var b = a.copy(b = 20)
var list = arrayListOf(a, a1, a2, b)
println(list)
println(list.count { a: A -> a.b == 55 })
}
输出结果
[A(a=a, b=3), A(a=a, b=55), A(a=a, b=55), A(a=a, b=20)]
2
find ,findlast
- find 返回集合内满足条件的首个成员
- findlast 返回集合内满足条件的最后成员
代码
fun main() {
var a = A("a", 3)
var a1 = A("a1", 55)
var a2 = A("a2", 55)
var a3 = A("a2", 4)
var b = a.copy(b = 20)
var list = arrayListOf(a, a1, a2,a3, b)
println(list)
println(list.find { a: A -> a.b == 55 })
println(list.findLast { a: A -> a.b == 55 })
println(list.find { a: A -> a.a == "no" })
}
输出结果
[A(a=a, b=3), A(a=a1, b=55), A(a=a2, b=55), A(a=a2, b=4), A(a=a, b=20)]
A(a=a1, b=55)
A(a=a2, b=55)
null