Scala 代码示例:根据省份统计商品点击数量并排序
Scala 代码示例:根据省份统计商品点击数量并排序
本代码使用 Scala 语言实现根据省份统计商品点击数量的功能,并按点击数量升序排序输出。数据存储在 Map 集合中,代码示例演示了数据转换、分组、统计和排序的过程。
代码示例:
import scala.collection.mutable.Map
import scala.collection.mutable.ListBuffer
object ClickCount {
def main(args: Array[String]): Unit = {
val data = Map(('吉林','玉米') -> 2,
('吉林','袜子') -> 10,
('河南','山药') -> 18,
('河南','鞋') -> 3,
('河南','衣服') -> 9,
('河北','箱包') -> 11,
('河北','鸭梨') -> 5,
('吉林','木耳') -> 7
)
// 转换数据格式
val newData = data.map {
case ((province, product), count) => (province, product, count)
}
// 按省份分组
val groupedData = newData.groupBy(_._1)
// 统计每个省份所有商品点击数量的总数
val countData = groupedData.map {
case (province, dataList) =>
val count = dataList.map(_._3).sum
(province, count)
}
// 对结果进行升序排序
val sortedData = countData.toSeq.sortBy(_._2)
// 输出结果
println(countData)
println(sortedData)
}
}
运行结果:
Map(河南 -> 30, 吉林 -> 19, 河北 -> 16)
List((河北,16), (吉林,19), (河南,30))
代码说明:
- 数据转换: 使用
map方法将原始数据格式从(('省份', '商品'), 数量)转换为(省份, 商品, 数量)。 - 分组: 使用
groupBy方法按省份对数据进行分组。 - 统计: 使用
map方法遍历分组后的数据,计算每个省份的商品点击数量总和。 - 排序: 使用
sortBy方法对统计结果按点击数量升序排序。 - 输出结果: 使用
println方法输出统计结果和排序后的结果。
总结:
本代码示例展示了使用 Scala 语言进行数据转换、分组、统计和排序的操作,可以作为学习和参考。
原文地址: https://www.cveoy.top/t/topic/kwqa 著作权归作者所有。请勿转载和采集!