如何在scala中使用过滤器功能

时间:2017-06-10 02:06:27

标签: scala

case class Transaction(
  transactionId: String,
  accountId: String,
  transactionDay: Int,
  category: String,
  transactionAmount: Double)

我创建了一个这样的列表:

val transactions: List[Transaction] = transactionslines.map { line =>
  val split = line.split(',')
  Transaction(split(0), split(1), split(2).toInt, split(3), split(4).toDouble)
}.toList

下面的命令通过考虑所有日期来给出最大交易金额,但我想使用过滤器,以便它只考虑当前日期的交易的前5天并显示最大值。任何人都可以帮助我在下面的命令

中实现过滤功能
val a = transactions.groupBy(_.accountId).mapValues(trans => trans.map(amount => amount.transactionAmount).max).foreach(println)

输出:

(A3,928.88)
(A14,990.14)
(A44,990.11)
(A7,924.59)
(A25,979.22)
(A48,797.19)

1 个答案:

答案 0 :(得分:1)

我不确定我的Update()Rectangle invalidate_area = new Rectangle(0, 0, 100, 50); invalidate_area.Inflate(3, 3); //add extra bounds Invalidate(invalidate_area); Update(); 列如何与当前日期相关联。假设它代表当天之前的天数,您的过滤器可能类似于以下内容:

transactionDay