例子:
var a = Map(1 -> List(7,8,9), 2 -> 15)
变量a的类型是scala.collection.immutable.Map[Int,Any]
。
我想获取 List(7, 8, 9)
的第一个元素。
a(1)(0)
给我一个错误:Any does not take parameters
。
如何将 Any
类型转换为 List
?
请帮忙。
最佳答案
类似于@EndeNeu,但涵盖了空列表的情况,为了明确定义问题,我们假设值为 0
,
a.collect {
case (i, Nil) => (i, 0)
case (i, x::_) => (i, x)
case p @ (_, _) => p
}
注意 @
将元组绑定(bind)到 p
以便在部分映射中我们不需要复制整个元组。
关于list - 如何获取 List 的第一个元素,它本身是 Map [int, Any] 类型的 Map 的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35502730/