清晰地获取地图键值

时间:2013-11-14 03:52:06

标签: scala

如果我知道密钥的存在,我该怎样才能获得Map密钥的值?

scala> val m = Map(1 -> "hi", 2 -> "world")
m: scala.collection.immutable.Map[Int,String] = Map(1 -> hi, 2 -> world)

scala> if (m.contains(1)) println(m.get(1) )
Some(hi)

是否有比m.get(1).get.get更具惯用性的替代方案?

scala> if (m.contains(1)) println(m.get(1).get )
hi

1 个答案:

答案 0 :(得分:4)

scala Mapapply方法:

scala> m.apply(1)
res1: String = hi

或使用语法糖:

scala> m(1)
res0: String = hi

但更惯用的方法是迭代Option

scala> m.get(1) foreach println
hi