You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:19:06