Scala:使用两个列表创建HashMap

时间:2017-06-09 15:46:31

标签: scala list functional-programming hashmap

我在Scala中有两个列表:

worksIn : List[WorkStation]

辅助对象具有参数Worker1

知道WS1适用于WS2Worker2WS1适用于WS2Worker3WS3适用于WS4以及Worker4WS3适用于WS4HashMap[Worker, List[WorkStation]]我希望得到一个Worker1 -> List(WS1 :: WS2 :: Nil) Worker2 -> List(WS1 :: WS2 :: Nil) Worker3 -> List(WS3 :: WS4 :: Nil) Worker4 -> List(WS3 :: WS4 :: Nil) 来说明这一点。

结果应该是这样的:

val list = workersList.flatMap(w => workStationsList.map(ws => if(w.worksIn.contains(w)) w -> ws)).toMap[Worker, List[WorkStation]]

我试图这样做,但它不起作用:

 UpdateRequest request = UpdateFactory.create(queryString) ;
            UpdateProcessor proc = UpdateExecutionFactory.create(request, graphStore) ;

有谁知道我该怎么做?

1 个答案:

答案 0 :(得分:1)

val list = workersList.map(w => (w -> w.worksIn)).toMap // type Map[Worker, List[WorkStation]]

workStationList似乎是多余的。