我如何在 Scala 中生成一个 immutable.Map ?
我已经尝试过这个,但它不起作用:
val map:Map[String,String] = for {
tuple2 <- someList
} yield tuple2._1 -> tuple2._2
我还能如何将 Tuple2 列表转换为映射?
I have tried this but it does not work:
val map:Map[String,String] = for {
tuple2 <- someList
} yield tuple2._1 -> tuple2._2
How else would I convert a List of Tuple2s into a Map?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
它再简单不过了:
使用
Map
伴随对象中的apply
方法。It couldn't be simpler:
using the
apply
method inMap
companion object.我的第一次尝试是这样的:
但这是最好的解决方案:
需要
:_*
来给编译器提示使用列表作为 varargs 参数。否则它会给你:从 Scala 2.8 开始,你可以使用
toMap
:My First try is this:
But here is the best solution:
The
:_*
is needed to give the compiler a hint to use the list as a varargs argument. Otherwise it will give you:From Scala 2.8 on you can use
toMap
:在 2.8 中,您可以使用
toMap
方法:这适用于任何对的集合。请注意,文档对其重复策略有这样的说法:
In 2.8, you can use the
toMap
method:This will work for any collection of pairs. Note that the documentation has this to say about its duplicate policy:
在 scala 2.8 中:
In scala 2.8: