我想编写一些执行以下操作的scala代码: -
将[“a#b”,“c#”]的列表转换为地图,其中#为#作为键,而#之后的部分为值,如果该值存在,则为
。因此,对于上面的数组,地图将是:
{
"a" => "b" // no "c" because it does not have a value.
}
用scala风格表达这个最优雅的方式是什么?另外,如何在scala中执行空检查?
谢谢!
答案 0 :(得分:2)
scala> val list = List("a#b", "c", "d#e", "")
scala> list.map(x => x.split("#")).filter(_.size == 2).map(arr => (arr(0), arr(1))).toMap
res1: scala.collection.immutable.Map[String,String] = Map(a -> b, d -> e)