我有以下類別:斯卡拉:由長的總和排序列表
Task(id: String, time: Duration)
Product(id: String, tasks: List[Task])
然後,我有以下元素的列表list: List[Product]
:
("P1", List(Task("T1", 15 minute), Task("T2", 10 minute)))
("P2", List(Task("T3", 10 minute)))
("P3", List(Task("T1", 15 minute)))
現在我要訂購列表按每個產品需要生產的時間總和計算。在這種情況下,我想輸出是像這樣:
("P2", List(Task("T3", 10 minute))) // 10 min total
("P3", List(Task("T1", 15 minute))) // 15 min total
("P1", List(Task("T1", 15 minute), Task("T2", 10 minute))) // 25 min total
我想過做這樣的事情,但它不工作:
list.sortBy(p => p.tasks.map(t => t.time))
難道你們知道我怎麼能做到這一點?