例:

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
}


注意@将元组绑定到p,以便在部分映射中我们不需要复制整个元组。

09-10 09:54
查看更多