Scala:与相邻元素进行排序

时间:2017-06-16 17:21:37

标签: scala list sorting functional-programming

假设我有以下Scala类:

Human(id: String, task: Task)

Task(id: String, time: Duration)

并且List[(Human, Task)]包含以下元素:

("H2", Task("T3", 5 minute))

("H3", Task("T1", 10 minute))

("H1", Task("T1", 10 minute))

("H1", Task("T2",  5 minute))

现在我想在功能上检查关闭元素是否具有相同的持续时间,如果是,请按人工ID排序。

在这种情况下,最终列表的元素排序如下:

("H2", Task("T3", 5 minute))

("H1", Task("T1", 10 minute))

("H3", Task("T1", 10 minute))

("H1", Task("T2",  5 minute))

我尝试使用sortBy这样做,但是我正在做的方式,最终列表将由人工ID完全排序,而不是比较时间。

有谁知道我该怎么做?

1 个答案:

答案 0 :(得分:2)

你的问题有点困惑。你说你有import javafx.util.Duration; List元组,但是你描述了(Human,Task)元组的集合。

这是根据您描述的规则对(String,Task)进行排序的方法。

List[Human]