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
        }

运行结果:

image

三,例子

代码:

        //处理按钮点击事件
        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 })
        }

运行结果:

image

 

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