【发布时间】:2014-05-28 03:44:11
【问题描述】:
如何展平任意深度的嵌套数组?
例如
val in = Array( 1, Array(2,3), 4, Array(Array(5)) )
会被压扁
val out = Array(1,2,3,4,5)
提前致谢。
【问题讨论】:
-
在一个集合中混合不同类型的值通常是个坏主意——你的
in只能有Array[Any]类型,这意味着你被某种向下转换所困。跨度> -
Int和Array[Int]是不同的类型,它们唯一的共同点是Any。 -
@TravisBrown 是的,有什么方法可以处理混合数组?
-
根据您要实现的目标,树形数据结构在这里可能更有用。然后要“压平”这棵树,你只需要遍历它。
-
@TravisBrown 非常感谢有见地的 cmets。谢谢!
标签: arrays scala collections flatten