对 SparseIntArray 的所有值求和的最佳方法

Best way to sum all values of a SparseIntArray

KotlinSparseIntArray 的所有值求和的最佳方法是什么?

我尝试了一些方法,但它不起作用... 这是我的代码(quantitiesSparseIntArray):

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

但是我有这个错误:

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

注意:我的问题与 ArrayList 无关,但 SparseIntArray.

您需要手动执行此操作:

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 }