获取地图键值干净利落(Getting Map Key's Value Cleanly)

2019-10-18 23:48发布

我怎样才能惯用获得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

Answer 1:

斯卡拉Mapapply方法:

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

或语法糖:

scala> m(1)
res0: String = hi

但更惯用的方式是遍历Option

scala> m.get(1) foreach println
hi


文章来源: Getting Map Key's Value Cleanly
标签: scala