【问题标题】:Best way to sum all values of a SparseIntArray对 SparseIntArray 的所有值求和的最佳方法
【发布时间】:2019-03-24 05:58:25
【问题描述】:

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

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

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

但我有这个错误:

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

小心:我的问题与ArrayList无关,而与SparseIntArray有关。

【问题讨论】:

    标签: android kotlin sparse-matrix


    【解决方案1】:

    您需要手动执行此操作:

    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 }
    

    【讨论】:

    • 谢谢!这行得通!只是一个建议,你必须用 '()' 写大小 -> size()
    • 对,我已经更正了答案。 size不带括号也可以和android-ktx一起使用
    猜你喜欢
    • 2015-11-15
    • 1970-01-01
    • 1970-01-01
    • 2017-08-28
    • 2015-06-11
    • 2010-10-18
    • 2013-03-11
    相关资源
    最近更新 更多