Scala:将元素追加到数组的最佳方式是什么?
说我有一个Array[Int]像 
 val array = Array( 1, 2, 3 ) 
 现在我想追加一个元素到数组中,比如4 ,如下例所示: 
 val array2 = array + 4 // will not compile 
 我当然可以使用System.arraycopy() ,并自己做这个,但是必须有一个Scala库函数,这是我根本找不到的。 感谢任何指针! 
笔记:
- 
我知道我可以追加另一个元素数组,如下面的代码,但是看起来太圆了: val array2b = array ++ Array( 4 ) // this works
- 
我知道列表与数组的优点和缺点,在这里我出于各种各样的原因,特别感兴趣的扩展数组。 
编辑1
 感谢指向:+运算符方法的答案。 这是我正在寻找的。 不幸的是,它比使用arraycopy的自定义append()方法实现要慢 – 约慢两到三倍。 看SeqLike[]中的实现,创build一个构build器,然后将数组添加到其中,然后通过构build器完成追加,然后构build器被呈现。 不是一个好的数组实现。 我做了一个比较两种方法的快速基准,看十个周期中最快的时间。 做一千万重复的单项附加到某个类Foo一个8元素数组实例需要3.1秒, :+和1.7秒与一个简单的append()方法,使用System.arraycopy();  Long的8元素数组中执行1000万个单项追加重复操作需要2.1秒, :+和0.78秒的简单append()方法。 不知道如果这不能在Array库中定制的Array自定义实现? 
编辑2
值得一提的是,我提交了一张票: https : //issues.scala-lang.org/browse/SI-5017
 您可以使用:+将元素追加到数组, +:作为前缀: 
 0 +: array :+ 4 
应该产生:
 res3: Array[Int] = Array(0, 1, 2, 3, 4) 
这和其他Scala系列一样。
 val array2 = array :+ 4 //Array(1, 2, 3, 4) 
作品也“倒转”:
 val array2 = 4 +: array Array(4, 1, 2, 3) 
还有一个“就地”版本:
 var array = Array( 1, 2, 3 ) array +:= 4 //Array(4, 1, 2, 3) array :+= 0 //Array(4, 1, 2, 3, 0) 
最简单的可能是:
 Array(1, 2, 3) :+ 4 
 实际上,Array可以在一个WrappedArray被隐式转换