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
}
运行结果:
三,例子:
代码:
//处理按钮点击事件
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
}
运行结果: