将选项[List[String]]转换为列表[String]
如何在Scala中将将选项[List[String]]转换为列表[String],list,scala,List,Scala,如何在Scala中将选项[List[String]]转换为列表[String]?我试图从ScalaMap中获取一个值,其中键是String,值是List[String]。 但是,当我获取键的值时,它将作为选项[List[String]]返回选项可以通过调用toList将其转换为一个列表,然后您可以展平将列表转换为单个列表: map.get(key).toList.flatten 这将返回列表[字符串]。如果您试图检索地图中不存在的密钥,它将返回一个空列表。选项可以通过调用toList将其转换为
选项[List[String]]
转换为列表[String]
?我试图从ScalaMap
中获取一个值,其中键是String
,值是List[String]
。
但是,当我获取键的值时,它将作为
选项[List[String]]返回选项可以通过调用toList
将其转换为一个列表,然后您可以展平
将列表转换为单个列表:
map.get(key).toList.flatten
这将返回列表[字符串]
。如果您试图检索地图中不存在的密钥,它将返回一个空列表。选项
可以通过调用toList
将其转换为列表,然后您可以展平
将列表转换为单个列表:
map.get(key).toList.flatten
这将返回列表[字符串]
。如果您试图检索映射中不存在的键,它将返回一个空列表。您也可以在映射上使用getOrElse()
方法,如:
map.get(key).getOrElse(List.empty[String])
getOrElse()
方法在映射中存在键时返回实际列表[String],否则将返回空列表[String]
在这里使用getOrElse()
方法的一个优点是它使您的代码更具可读性您还可以在地图上使用getOrElse()
方法,如:
map.get(key).getOrElse(List.empty[String])
getOrElse()
方法在映射中存在键时返回实际列表[String],否则将返回空列表[String]
在这里使用getOrElse()
方法的一个优点是它使代码更具可读性最好的解决方案是
map.getOrElse(key, Nil)
如果您的代码在Try
或其他异常处理程序中,或者如果您可以证明密钥在那里,那么这是另一种选择
map(key)
最好的解决办法是
map.getOrElse(key, Nil)
如果您的代码在Try
或其他异常处理程序中,或者如果您可以证明密钥在那里,那么这是另一种选择
map(key)
Map
有一个getOrElse
方法,比这样分两步更有效。Map
有一个getOrElse
方法,比这样分两步更有效。问题不应该是如何获取列表。它返回一个选项,因为没有其他正常路径。您首先需要回答如果键不存在,值应该是什么。问题不应该是如何获取列表。它返回一个选项,因为没有其他正常路径。如果键不存在,您首先需要回答值应该是什么。