我有一个Mutable的对应列表,我想减少第一个条目的值,所以我的条件是我的通过(更改):
innodb_temp_data_file_path
但是Pair类不允许我这样做,除了创建我自己的对之外还有其他任何解决方法,为什么会这样呢?
答案 0 :(得分:5)
与所有实体一样,问题出现了可变性。
在您的情况下,您可以使用一对新值更新列表条目。
val newPair = oldPair.copy(first = oldPair.first-1)
或直接使用长度为2的数组intArrayOf(0, 0)
。所以你可以直接访问元素。
while(n > 0) {
if(sibice[i][0] > 0) {
sum += sibice[i][1]
sibice[i][0]--
n--
} else i++
}
您甚至可以将扩展值first
和second
定义为IntArray
类型,并像以前一样使用它。
val IntArray.second get() = get(1)
var IntArray.first
set(value) = set(0, value)
get() = get(0)