【问题标题】:How to get average of last 5 value using groupby arraylist in kotlin如何在kotlin中使用groupby arraylist获取最后5个值的平均值
【发布时间】:2021-03-25 12:22:21
【问题描述】:

我正在尝试按 arraylist 分组并获取最后 5 个项目的平均值。请任何人建议我我被困在这里

到目前为止我做的是这个

aproxXInfos.groupBy { it.mac }
                .map { group ->
                    val beaconMac = group.key
                    val beaconAllValues = group.value
                    val averageRssi = beaconAllValues.sumBy { it.rssi } / beaconAllValues.size
                    println("Average rssi for beacon $beaconMac is $averageRssi")
                }

这是给我来自特定组的所有值的平均值,但我只想得到最后 5 个值的平均值。

我知道我快到了,但我被困在这里

任何帮助都将受到高度赞赏。

【问题讨论】:

    标签: android kotlin arraylist group-by average


    【解决方案1】:

    您可以使用takeLast(n),它将返回一个仅包含最后一个n 项目的列表。所以在你的情况下:

    val beaconAllValues = group.value.takeLast(5)
    

    【讨论】:

    • 谢谢你,我不知道解决方案会这么简单
    • 如果我必须以 3 到 6 个索引值为基数来计算 renge 中的索引怎么办
    • 你可以使用.subList(fromIndex, toIndex)
    猜你喜欢
    • 1970-01-01
    • 2020-05-08
    • 2021-03-27
    • 1970-01-01
    • 2023-02-17
    • 2012-12-07
    • 1970-01-01
    • 2020-03-09
    • 1970-01-01
    相关资源
    最近更新 更多