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))

代码说明:

  1. 数据转换: 使用 map 方法将原始数据格式从 (('省份', '商品'), 数量) 转换为 (省份, 商品, 数量)
  2. 分组: 使用 groupBy 方法按省份对数据进行分组。
  3. 统计: 使用 map 方法遍历分组后的数据,计算每个省份的商品点击数量总和。
  4. 排序: 使用 sortBy 方法对统计结果按点击数量升序排序。
  5. 输出结果: 使用 println 方法输出统计结果和排序后的结果。

总结:

本代码示例展示了使用 Scala 语言进行数据转换、分组、统计和排序的操作,可以作为学习和参考。

Scala 代码示例:根据省份统计商品点击数量并排序

原文地址: https://www.cveoy.top/t/topic/kwqa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录