Scala-如何将输入号分配给集合的分类元素



我想以按日期对销售进行排序并与条目号码和类似的销售类型进行排序的方式来处理销售数据:

0/2018-05-02 01:55:07/Sale type A,1/2018-09-22 02:55:07/Sale type B

,但现在我只能实现串联的销售和saletype。如何为每个记录产生一个条目号码?按条目编号,我的意思是按日期进行排序后的销售顺序

def concatSales(sales: Seq[Sale]): Seq[String] = {
        sales
        .sortWith(_.saleDate < _.saleDate)
        .map(sale => s"$DELIMITER${sale.saleDate}$DELIMITER${sale.saleType}")
}

如果要为每个元素分配索引,则可以使用 zipWithIndex

sales
  .sortWith(_.saleDate < _.saleDate)
  .zipWithIndex
  .map {
    case (sale, idx) => s"$idx: ..."
  }

请注意,您可能要使用.sortBy而不是.sortWith,因为它看起来更简单:

 sales.sortBy(_.saleDate)

最新更新