汇总SparseIntArray的所有值的最佳方法

时间:2018-10-19 10:40:33

标签: android kotlin sparse-matrix

SparseIntArray中的Kotlin的所有值求和的最佳方法是什么?

我尝试了一些操作,但是没有用... 这是我的代码(quantitiesSparseIntArray):

var amount = 0
for (q in quantities){
     amount += q
}

但是我有这个错误:

For loop range must have an 'iterator()' method

请注意:我的问题与ArrayList无关,而与SparseIntArray无关。

1 个答案:

答案 0 :(得分:2)

您需要手动执行此操作:

var amount = 0
for (i in 0 until quantities.size()) {
    amount += quantities.valueAt(i)
}

如果您使用android-ktx,也可以将其重写为:

var amount = 0
quantities.forEach { k, v -> amount += v }