如何将Seq [A]转换为Scala中的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] . 相反,我希望所有A的序列具有相同的Int参数(Map [Int,Seq [A])
1 回答
你需要向编译器证明有一个类型
A
的参数可以满足你的条件:除此之外,您可以使用结构类型(涉及反射,因此出于性能原因,实际上是不可取的 . )