[英]scala - stitching a tuple3 with Array of size 3
我有一个由 3 个元素组成的元组,并尝试使用以下方法使用大小为 3 的数组进行压缩
val tup3= (10:BigInt,9:BigInt,3:BigInt)
val arr3:Array[String] = Array("cnt", "mxid2","nullid3")
val map_result = tup3.productIterator.toArray.zip(arr3).map( x => (x._2,x._1)).toMap
当我尝试相反的方式来避免元素交换时,我收到错误
arr3.zip(tup3.productIterator.toArray)
<console>:30: error: polymorphic expression cannot be instantiated to expected type;
found : [B >: Any]Array[B]
required: scala.collection.GenIterable[?]
arr3.zip(tup3.productIterator.toArray)
^
如何修复此错误?。
您是否需要任何数组和元组大小的通用解决方案?
因为如果没有,我会很懒惰并这样做:
(array, tuple) match {
case ((key1, key2, key3), (value1, value2, value3)) =>
val map = Map(
key1 -> value1,
key2 -> value2,
key3 -> value3
)
case _ =>
Map.empty[String, Any]
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.