【发布时间】:2014-08-25 18:12:29
【问题描述】:
如何在 Scala 中将 Seq[A] 转换为 Map[Int, Seq[A]],其中 Int 的值是 A 的参数(以函数方式)?
例子:
val futures: Seq[Future[Seq[A]]] = ???
val gathered = Future.collect(futures)
gathered.map {
res => {
val myseq:Seq[A] = res.flatten
myseq.map(a => (a.param, a)).toMap
}
}
结果值将是 Map[Int, A]。相反,我想要一个具有相同 Int 参数 (Map[Int, Seq[A]) 的所有 A 的序列
【问题讨论】:
-
这个问题非常不清楚。您希望将
Seq(1,2,3)转换为(1-> ??)..的地图? -
val myseq = Seq((1, 2), (1, 3), (3,4)) 预期:Map(1-> Seq(2, 3), 3 -> Seq( 4))
-
@sonix 请更新您的问题,因为听起来您想采用某种类型
A并使用它的成员函数/值将您的序列分组到地图中。
标签: scala transformation