我在找一個比這更簡潔的方案:慣用方法數組轉換成ListBuffer
import scala.collection.mutable.ListBuffer
val y = Array(1,2,3,4)
val z = new ListBuffer[Int]()
y.foreach(elem => z += elem)
我在找一個比這更簡潔的方案:慣用方法數組轉換成ListBuffer
import scala.collection.mutable.ListBuffer
val y = Array(1,2,3,4)
val z = new ListBuffer[Int]()
y.foreach(elem => z += elem)
如何:
val z = ListBuffer(y: _ *)
ListBuffer.apply
接受元素的可變參數風格的序列。簽名是apply[A](elems: A *): ListBuffer[A]
爲了序列適用於這樣的函數,我們使用語法: _ *
的另一種方法是使用to
轉換方法:
import scala.collection.mutable.ListBuffer
val arr: Array[Int] = Array(1, 2, 3, 4)
val buf: ListBuffer[Int] = arr.to[ListBuffer]
的變量類型的註釋,當然,多餘的,我已經添加它們只是爲了清晰。
to
是非常通用的,它允許任意集合之間的轉換(即,從任何Traversable
到任何東西,其具有適當的CanBuildFrom
例如在範圍內)。
這真是太神奇了,謝謝你給我看 – Hamy 2014-09-24 18:10:33
很酷,它的工作原理。你可以添加一兩句話來解釋它是如何工作的,我不明白這個構造類型或你正在使用的'*'操作符 – Hamy 2014-09-24 17:24:50