为Kotlin中的每个元素增值

时间:2019-11-02 12:35:50

标签: arrays list kotlin

如何将值添加到数组/列表的每个整数值。我进行了搜索,但在Kotlin中找不到任何解决方案。

我以这种方式尝试过,但是显示错误。

 val arrayNum = arrayOf(2,3,9)
 val newArrayNum = arrayNum.foreach{ it ->
     it += 2
 }
}```

2 个答案:

答案 0 :(得分:2)

您可以只使用map用新元素创建一个新列表,然后将其转换回数组:

val newArrayNum = arrayNum.map { it + 2 }.toTypedArray()

这是性能较差的解决方案,因为它将在后台创建一个新的ArrayList和一个新的数组。

要避免创建ArrayList,可以执行以下操作:

val newArrayNum = IntArray(arrayNum.size) { index ->
    arrayNum[index] + 2
}

要修改原始数组的内容(不创建新数组或ArrayList),可以执行以下操作:

arrayNum.forEachIndexed { index, value ->
    arrayNum[index] = value + 2
}

答案 1 :(得分:1)

 val newArrayNum = arrayNum.map { it + 2  }