變長數組:數組緩衝數組
Scala中對於那種長度會變的數組的數據結構爲ArrayBuffer。數據結構
import scala.collection.mutable.ArrayBuffer; // 一個空的數組緩衝,準備存放整數 val array_buffer = ArrayBuffer[Int](); // 或者 new ArrayBuffer[Int] array_buffer += 1; // 結果爲:ArrayBuffer(1) // 用+=在尾端添加元素 array_buffer += (1, 2, 3, 5); // 結果爲:ArrayBuffer(1, 1, 2, 3, 5) // 在尾端添加多個元素,以括號包起來,你能夠用++=操做符追加任何集合 array_buffer ++= Array(8, 13, 21); // 結果爲:ArrayBuffer(1, 1, 2, 3, 5, 8, 13, 21) // 移除最後5個元素 array_buffer.trimEnd(5); // 結果爲:ArrayBuffer(1, 1, 2) /* 在數組緩衝的尾端添加或移除元素是一個高效(「amortized constant time」)的操做。 你也能夠在任意位置插入或移除元素,但這樣的操做並不那麼高效——全部在那個位置以後的元素都必須被平移。舉例以下: */ array_buffer.insert(2, 6); // 結果爲:ArrayBuffer(1, 1, 6, 2) // 在下標2以前插入,你能夠插入任意多的元素 array_buffer.insert(2, 7, 8, 9); // 結果爲:ArrayBuffer(1, 1, 7, 8, 9 , 6, 2) array_buffer.remove(2); // ArrayBuffer(1, 1, 8, 9, 6, 2) // 第2個參數的含義是要移除多少個元素 array_buffer.remove(2, 3); // ArrayBuffer(1, 1, 2) /*有時你須要構建一個Array,但不知道最終須要裝多少元素。在這種狀況下,先構建一個數組緩衝,而後調用: 反過來,調用a.toBuffer能夠將一個數組a轉換成一個數組緩衝 */ array_buffer.toArray; // Array(1, 1, 2)
映射spa
元組scala