我是Scala编程的新手,平面图功能让我很头疼。
在你让我搜索之前,我对Stackoverflow进行了一些研究:https://stackoverflow.com/search?q=scala+map+to+list但是我找不到容易解决问题的东西。
这是我的问题:
对于使用Jacop(http://jacopguide.osolpro.com/guideJaCoP.html)的scala编程项目,
我需要转换这种地图
Map[Int,List[List[IntVar]]]
到:
List[T]
// In my case , only a List[IntVar]
我知道我应该多次使用flatMap,但我想知道在我的情况下如何正确使用它。
感谢您的帮助
答案 0 :(得分:2)
如果您想要地图值中的每个IntVar
,您可以这样:
map.values.flatten.flatten.toList
对values
的调用会返回包含地图所有值的Iterable
。在这种情况下,它返回类型为Iterable[List[List[IntVar]]]
的对象。第一次flatten
- 调用此对象会将其展平为Iterable[List[IntVar]]
。第二个flatten
- 调用将此对象进一步展平为Iterable[IntVar]
。最后,toList
方法将其转换为List[IntVar]
。