kotlin: indexOf/lastIndexOf函数

一,功能:查询元素在集合中的位置

indexOf(): 从头开始,返回匹配到的元素在集合中的位置,如果不存在,返回-1
lastIndexOf() :从尾部开始,返回匹配到的元素在集合中的位置,如果不存在,返回-1

indexOfFirst()返回与关键字匹配的第一个元素的索引,如果没有此类元素,则返回 -1。
indexOfLast() 返回与谓词匹配的最后一个元素的索引,如果没有此类元素,则返回 -1。

二,例子

代码:

        //处理按钮点击事件
        binding.button1.setOnClickListener {
            val mList = listOf(1, 2, 3, 4, 3, 2, 1)
            //返回指定元素的下标,没有就返回-1
            println(mList.indexOf(3))   //2
            //从尾部开始查找
            println(mList.lastIndexOf(3))  // 4
            println(mList.indexOf(0)) //-1

            //返回第一个符合条件的元素的下标,没有就返回-1 。
            println(mList.indexOfFirst { it == 2 })//1

            //返回最后一个符合条件的元素下标,没有就返回-1 。
            println(mList.indexOfLast { it == 2 })//5
        }

运行结果:

image

三,例子:

代码:

        //处理按钮点击事件
        binding.button2.setOnClickListener {
            val numbers = mutableListOf("A", "D", "B", "B", "C", "C", "D", "A", "C")
            println(numbers.indexOfFirst { it == "A" })  // 0
            println(numbers.indexOfLast { it == "A" })   //7

            //根据元素寻找下标,默认是第一个
            println(numbers.indexOf("D").toString()) //打印结果是1
            //从尾部开始查找
            println(numbers.lastIndexOf("D").toString()) //打印结果是6
            //集合中元素第一个是D的下标
            println(numbers.indexOfFirst { it == "D" }.toString())//打印结果是1
            //集合中元素最后一个是D的下标
            println(numbers.indexOfLast { it == "D" }.toString())//打印结果是6

        }

运行结果:

image

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