如何在 kotlin 中使用 groupby arraylist 获取最后 5 个值的平均值

How to get average of last 5 value using groupby arraylist in kotlin

我正在尝试按数组列表分组并获取最后 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 个值的平均值。

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

任何帮助将不胜感激。

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

val beaconAllValues = group.value.takeLast(5)