连接两个 Traversable 到一个新的 Traversable
如何将两个 Traversable 到一个新的 Traversable。
不要求两个 Traversable对象所包含的元素类型(类型参数)必须一致。
解决方案:
使用 ++ 方法可以连接两个 Traversable。
A.++(B) 可以写成 A ++ B
package main object Test { def main(args: Array[String]): Unit = { val ids = Traversable(101, 102, 103, 104); val names = Traversable("刘德华", "张学友", "郭富城", "黎明"); val score = Traversable(66, 77, 88, 90); val all = ids ++ names ++ score; println(all); //List(101, 102, 103, 104, 刘德华, 张学友, 郭富城, 黎明, 66, 77, 88, 90) val all2 = ids.++(names).++(score); println(all2) //List(101, 102, 103, 104, 刘德华, 张学友, 郭富城, 黎明, 66, 77, 88, 90) } }
总结:
每个 ++ 操作都会生成一个新的集合,因此这种写法会生成大量的中间集合。
当这种集合多了以后会影响垃圾回收,所以它不是最好的方法。
更有效的方法是使用 scala.collection.mutable.Traversable 伴生对象的 concat()方法。

浙公网安备 33010602011771号