kotlin: any/none/all函数

一,功能

 any
如果至少有一个元素匹配给定谓词,那么 any() 返回 true。

none
 如果没有元素与给定谓词匹配,那么 none() 返回 true。

all
 如果所有元素都匹配给定谓词,那么 all() 返回 true。
请注意,在一个空集合上使用任何有效的谓词去调用 all() 都会返回 true 。这种行为在逻辑上被称为 vacuous truth。

谓词 定义
接受一个集合元素并且返回布尔值的 lambda 表达式, 其返回值含义:true 说明给定元素与谓词匹配,false 则表示不匹配

二,例子:any()

代码:

        //处理按钮点击事件
        binding.button2.setOnClickListener {
            //判断集合元素,如果集合为空,返回false, 集合中存有一个或多个元素时返回true
            val mList1 = arrayListOf(1, 2, 3, 4, 5)
            val mList2: ArrayList<Int> = arrayListOf()
            println(mList1.any()) //true
            println(mList2.any()) //false

            //判断集合元素,如果集合为空或者没有符号条件的元素返回false,
            // 集合中存有一个或多个元素符合条件时返回true
            println(mList1.any { it == 2 }) //true
            println(mList2.any { it == 3 }) //false
        }

运行结果:

image

三,例子:none()

代码:

        //处理按钮点击事件:
        binding.button3.setOnClickListener {
            //如果集合中没有元素,则none()返回true,否则返回false
            val mList1 = arrayListOf(1, 2, 3, 4, 5)
            val mList2: ArrayList<Int> = arrayListOf()
            println(mList1.none()) //false
            println(mList2.none()) //true

            //存在符合条件的元素时,返回false,否则返回true
            println(mList1.none { it == 2 }) //false
            println(mList2.none { it == 33 }) //true
        }

运行结果:

image

四,例子:all()

代码:

        //处理按钮点击事件
        binding.button4.setOnClickListener {
            //当且仅当该集合中所有元素都满足条件时,返回true;否则都返回false。
            val mList1 = arrayListOf(0, 2, 4, 6, 8)
            println(mList1.all { it % 2 == 0 }) //true
            println(mList1.all { it % 2 == 1 }) //false

            val mList2 = arrayListOf(0, 1, 2, 3, 4)
            println(mList2.all { it % 2 == 0 }) //false
            println(mList2.all { it < 5 }) //true
        }

运行结果:

image

 

posted @ 2025-08-23 09:20  刘宏缔的架构森林  阅读(16)  评论(0)    收藏  举报