私は以下のクラスがあります。スカラ:期間の合計によってソート・リスト
("P1", List(Task("T1", 15 minute), Task("T2", 10 minute)))
("P2", List(Task("T3", 10 minute)))
("P3", List(Task("T1", 15 minute)))
は、今私はリストを注文したい。そして、
Task(id: String, time: Duration)
Product(id: String, tasks: List[Task])
、私は次の要素を持つリストlist: List[Product]
を持っているが各製品が生産するのに必要な時間の合計で割ったものです。この場合、私は、出力はそうのようになりたかった:
("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))
は、私はこれを行うことができますどのようにあなたたちを知っています? nanos値に時間を変換する時間によって