我需要一个列表的 HashMap。通常我这样做:
val lists = mutable.HashMap[String,List[Int]]() {
override def default(key: String) = {
val newList = List[Int]()
this(key) = newList
newList
}
}
这样我就可以简单地写一些东西
lists("dog") ::= 14
不必担心“dog”列表是否已经初始化。
有没有更干净的方法来做到这一点?我发现自己一次又一次地输入这五个默认覆盖行。
Thanks!
关于什么withDefaultValue()
?
val lists = new mutable.HashMap[String,List[Int]].withDefaultValue(Nil)
lists("dog") ::= 13
lists("cat") ::= 14
lists("dog") ::= 15 //(13, 15)
See also
- 如何在Scala中实现默认操作的Map https://stackoverflow.com/questions/5830458
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)