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

如何在未知索引的情况下将ArrayList中指定元素在原位置替换为新元素

Kotlin ArrayList 未知索引替换元素实现方案

你可以通过以下两种常用方式实现需求:

方法1:仅替换第一个匹配的目标元素

先通过indexOf方法获取目标元素的索引,校验索引有效后直接替换对应位置的值即可:

var list: ArrayList<String> = arrayListOf("one", "two", "three")
val target = "two"
val targetIndex = list.indexOf(target)
// 先判断目标元素是否存在,避免索引越界
if (targetIndex != -1) {
    list[targetIndex] = "four"
}

该方式的效果和「删除原位置元素后插入新元素」完全一致,且时间复杂度更低,适合仅需要替换第一个匹配项的场景。

方法2:批量替换所有匹配的目标元素

如果列表中存在多个"two"需要全部替换为"four",可以直接使用replaceAll方法遍历替换:

var list: ArrayList<String> = arrayListOf("one", "two", "three", "two")
list.replaceAll { if (it == "two") "four" else it }

注意事项

  • 如果明确列表中一定存在目标元素,可以省略targetIndex != -1的校验逻辑,生产环境建议保留该校验避免崩溃。
  • 如果需要严格执行「先删除再插入」的操作(极少数特殊业务场景需要触发删除/插入的回调监听),可以将替换逻辑改为如下写法,效果和直接赋值一致:
    if (targetIndex != -1) {
        list.removeAt(targetIndex)
        list.add(targetIndex, "four")
    }
    

内容的提问来源于stack exchange,提问作者Dante313

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 22:27:03