如何在Kotlin字符串数组中查找元素并返回其索引?
在Kotlin中查找字符串数组元素的索引
当然有更高效更简洁的方法啦!完全不用自己手动写遍历逻辑,Kotlin标准库已经为你封装好了几个实用的工具方法,针对不同场景都能搞定:
1. 查找第一个匹配元素的索引:indexOf
这是最常用的方法,直接传入目标元素,它会返回数组中第一个匹配元素的索引;如果找不到该元素,就返回-1。
示例代码:
val fruits = arrayOf("apple", "banana", "cherry", "date") val bananaIndex = fruits.indexOf("banana") // 结果是1 val mangoIndex = fruits.indexOf("mango") // 结果是-1
2. 查找最后一个匹配元素的索引:lastIndexOf
如果数组里有重复元素,你需要找最后一个出现的位置,就用这个方法,逻辑和indexOf类似,只是从数组末尾开始往前找。
示例代码:
val fruits = arrayOf("apple", "banana", "apple", "date") val lastAppleIndex = fruits.lastIndexOf("apple") // 结果是2
3. 自定义匹配逻辑:indexOfFirst / indexOfLast
如果你的匹配需求不是完全相等(比如忽略大小写、匹配部分字符串),可以用这两个方法,它们接收一个Lambda表达式来定义匹配规则,灵活性拉满。
比如忽略大小写查找:
val fruits = arrayOf("Apple", "Banana", "Cherry") val appleIndex = fruits.indexOfFirst { it.equals("apple", ignoreCase = true) } // 结果是0
再比如查找包含"err"的元素:
val words = arrayOf("hello", "error", "world", "merry") val errorIndex = words.indexOfFirst { it.contains("err") } // 结果是1
这些标准库方法都是经过优化实现的,效率比自己手动写遍历只高不低,放心用就好~
内容的提问来源于stack exchange,提问作者Big Star
相关产品推荐
相关产品推荐

