私はスカラー型Orderのリストを持っています。Scala:リストのリストを個別に扱います
case class Order(id: String, prod: Product, quantity: Int)
case class Product(id: String, name: String, tasks: List[Task])
私はこれを行うと、私はList(List[Task]))
を得る:
val listTaskLists = orders.map(p => p.getProduct().tasks)
今、私はタイプのTaskScheduleのリストを返すようにしたいです。このリストに含まれるエントリの数は、listTaskListsのサイズと各製品の数を掛けたものです。
例えば、私はこれらのエントリを有する:(4つのタスク* 1 PRODS)+(6つのタスク* 2 PRODS)を考慮してこれを有する
val order1 = new Order("ORD_1", product1, 1) // product1 has 4 tasks
val order2 = new Order("ORD_2", product2, 2) // product2 has 6 tasks
val order3 = new Order("ORD_3", product3, 3) // product3 has 5 tasks
val order4 = new Order("ORD_4", product4, 1) // product4 has 5 tasks
val orders = o1 :: o2 :: o3 :: o4 :: Nil
を私は36個のエントリとのTaskScheduleのリストを返すべきです+(5タスク* 3プロード)+(5タスク* 1プロード)= 36タスクスケジュール
しかし、私はそうすることができません。
がlistTaskLists.map(s => new TaskSchedule(null, 1, 100 minute, 200 minute))
は誰も私を助けることができる:私が得た最も近い4つのタスクスケジュール(listTaskListsのサイズ)のリストを返していましたか?
本当にあなたが質問していることはあなたの質問から確信が持てませんが、私の推測はあなたです'.flatMap'のための王。 'orders.map'の代わりに' orders.flatMap'を実行してみましょう。 – Dima