【8】Kotlin学习之集合关键词all ,any,count,find,findlast

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

猜你喜欢

转载自blog.csdn.net/a940659387/article/details/116242839