Filter 如何在arrayList筛选器中获取索引列表

Filter 如何在arrayList筛选器中获取索引列表,filter,kotlin,Filter,Kotlin,我想得到如下的索引列表 val a = booleanArrayOf(true,false,true,false) 上面的代码,真实数字是2。->indexList={0,2} 如何在Kotlin中获取索引列表。您可以使用mapindex()获取索引和每个元素的值,转换为索引或null,然后删除null val b: List<Int> = a.mapIndexed { i, b -> if (b) i else null }.filterNotNull().toList()

我想得到如下的索引列表

val a = booleanArrayOf(true,false,true,false)
上面的代码,真实数字是2。->indexList={0,2}
如何在Kotlin中获取索引列表。

您可以使用
mapindex()
获取索引和每个元素的值,转换为索引或null,然后删除null

val b: List<Int> = a.mapIndexed { i, b -> if (b) i else null }.filterNotNull().toList()
val c: List<Int> = a.withIndex().filter { it.value }.map { it.index }