假设我有以下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完全排序,而不是比较时间。
有谁知道我该怎么做?
答案 0 :(得分:2)
你的问题有点困惑。你说你有import javafx.util.Duration;
个List
元组,但是你描述了(Human,Task)
元组的集合。
这是根据您描述的规则对(String,Task)
进行排序的方法。
List[Human]