我正试图在Scala中扁平化以下结构:
Array[((String, String, String),(String, String, String))]
要获得以下信息:
(String, String, String, String, String, String)
到目前为止,我尝试了类似的方法:
val = payload.map(_.productIterator.toList.map(_.toString)).toList
生产:List[List[String]]
对如何实现这一点有什么想法吗?
谢谢!
2条答案
按热度按时间m3eecexj1#
元组不是很容易扁平化的东西--Scala3提供了连接它们的方法:
但在Scala2中,您必须手动组合它们
一旦你有了元组的数组...您仍然不能“只是”展平它,因为将数组中的所有元组组合成一个元组的直观、内置、默认的方法是什么?你可以这样做,例如,用foldLeft/foldRight/Reduce,但你仍然需要知道怎么做:
例如,如果您想串联相应位置上的值
它还可以通过以下一步完成:
但确切的实现取决于您对将元组的元组数组“扁平”为元组的理解。
t30tvxxf2#
您可以使用ProductIterator,但由于它返回需要与您拥有的类型匹配的任何内容: