Scala 代码示例:统计省份商品点击数量并排序
object A {
def main(args: Array[String]): Unit = {
val data = Map((("吉林", "玉米"), 2),
(("吉林", "袜子"), 10),
(("河南", "山药"), 18),
(("河南", "鞋"), 3),
(("河南", "衣服"), 9),
(("河北", "箱包"), 11),
(("河北", "鸭梨"), 5),
(("吉林", "木耳"), 7))
//转换数据格式
val clickData = data.map { case ((province, product), clickCount) => (province, (product, clickCount)) }
//按省份分组
val groupData = clickData.groupBy(_._1)
//统计每个省份所有商品点击数量的总数
val countData = groupData.map { case (province, productList) =>
val clickCount = productList.map(_._2._2).sum
(province, clickCount)
}
//按升序排序
val sortedData = countData.toList.sortBy(_._2)
//输出结果
println(countData)
println(sortedData)
}
}
运行结果是:
Map(吉林 -> 29, 河南 -> 30, 河北 -> 16)
List((河北,16), (吉林,29), (河南,30))
第一行输出了每个省份所有商品点击数量的总数,第二行输出了按升序排序后的省份和对应的总点击数量。
原文地址: https://www.cveoy.top/t/topic/kv1m 著作权归作者所有。请勿转载和采集!