gpt4 book ai didi

arrays - Kotlin - 数组中重复元素的索引

转载 作者:行者123 更新时间:2023-12-02 02:24:47 24 4
gpt4 key购买 nike

有没有一种简单的方法可以获取数组中匹配元素的索引,而无需编写for循环然后收集索引?

Eg: val arr = arrayOf<Int>(2,3,4,2,5,2,6,3,2)

Output: For element 2, output should be (0,3,5,8) and For element 3, output should be (1,7)

Kotlin 提供了indexOf(element),它返回第一个索引,然后是lastIndexOf(element),它返回最后一个索引。我正在寻找一种简单的方法来获取所有匹配元素的索引。

我的解决方案:迭代数组并收集索引的标准解决方案。

var indexArrOf2 = mutableListOf<Int>()
var indexArrOf3 = mutableListOf<Int>()
for(i in arr.indices) {
if (arr[i] == 2) {
indexArrOf2.add(i)
}
if (arr[i] == 3) {
indexArrOf3.add(i)
}
}

最佳答案

是的,您可以使用mapIndexedNotNull :

arr.mapIndexedNotNull { index, elem -> if (elem == 2) index else null }

关于arrays - Kotlin - 数组中重复元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61039343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com