如何在 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)
我正在尝试按数组列表分组并获取最后 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)