Лучший способ суммировать все значения SparseIntArray - PullRequest
0 голосов
/ 19 октября 2018

Каков наилучший способ суммировать все значения SparseIntArray в Kotlin?

Я пытаюсь что-то, но это не работает ... Это мой код (quantities это SparseIntArray):

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

Но у меня есть эта ошибка:

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

Будьте осторожны: моя проблема не касается ArrayList, а SparseIntArray.

1 Ответ

0 голосов
/ 19 октября 2018

Вам нужно сделать это вручную:

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 }
...