Scala List 按日期差异过滤

Scala List filter by date difference

我遇到了一个问题,我真的不知道如何以正确的 Scala 方式解决它。

我有一个包含日期的对象列表。我想做这样的事情:

我想在列表中的 2 个后继者之间使用可接受的时间值(例如 2 小时)进行选择。目的是保持用户趋势与一个点的比较(如果他在这里出现 2 次,或者 1 次或 15 次!)。

我想象的算法:

怎么做,用一些过滤器或收集?哦,如果算法听起来不适合你,我愿意接受批评!

编辑:我不是要解决方案,而是要查找正确的函数!

假设我有一个整数列表,我想遍历它们,只保留比前一个大 1 以上的整数。我会使用 foldLeft 逐步浏览它们,构建一个仅包含可接受项目的列表:

val nums = List(1,2,4,5,7)

nums.foldLeft(List[Int]()){
  case (List(), b) => List(b)
  case (list, b) if b - list.head > 1 =>  list :+ b
  case (list, b) => list
}