| | |
| | | * @param onTag 定义数据标签获取回调函数,当当前数据标签与上个数据标签不同时,即认为上一组数据为同一组数据,需求出均值 |
| | | * @param onAvg 定义均值计算方法 |
| | | */ |
| | | class AverageUtil<T : Any>(var onTag: (d: T) -> String, var onAvg: (list: List<T>) -> T) { |
| | | class AverageUtil<T, K>(var onTag: (d: T) -> String, var onAvg: (list: List<T>) -> K) { |
| | | |
| | | // 缓存最新的tag |
| | | private var lastTag: String? = null |
| | | // 临时数据缓存 |
| | | private val dataSet = mutableListOf<T>() |
| | | // 转换结果 |
| | | private val result = mutableListOf<T>() |
| | | private val result = mutableListOf<K>() |
| | | |
| | | /** |
| | | * 将数据集转换为均值数据 |
| | | * @param list 原始数据 |
| | | * @return 均值数据 |
| | | */ |
| | | fun avg(list: List<T>): List<T> { |
| | | fun avg(list: List<T>): List<K> { |
| | | // 初始化所有变量 |
| | | clear() |
| | | // 计算均值 |