Tag: 纯粹功能

Kotlin:更新不可变列表元素

Kotlin初学者在这里。 我如何获取一个列表,而不用改变它,创建一个更新元素在特定索引的第二个(不可变)列表? 我想到了两种方式,这两种方式似乎都可能导致性能命中,改变底层对象,或两者兼而有之。 data class Player(val name: String, val score: Int = 0) val players: List<Player> = … // Do I do this? val updatedPlayers1 = players.mapIndexed { i, player -> if (i == 2) player.copy(score = 100) else player } // Or this? val updatedPlayer = players[2].copy(score = 100) val mutable = players.toMutableList() mutable.set(2, […]