是否可以将异构向量的向量转换为Scala中的Tuple3列表
即
Vector(Vector(1,"a","b"),Vector(2,"b","c")) to List(Tuple3(1,"a","b"),Tuple3(2,"b","c"))发布于 2014-11-27 06:24:44
显式地将每个内部Vector转换为Tuple3
vector.map {
case Vector(f, s, t) => Tuple3(f, s, t)
}.toList如果有不同大小的向量,则可以使用更一般的方法:
def toTuple(seq: Seq[_]): Product = {
val clz = Class.forName("scala.Tuple" + seq.size)
clz.getConstructors()(0).newInstance(seq.map(_.asInstanceOf[AnyRef]): _*).asInstanceOf[Product]
}
vector.map(toTuple).toList但它有限制:最大向量长度为22。
https://stackoverflow.com/questions/27164267
复制相似问题