scala學習筆記-集合

 

變長數組:數組緩衝數組

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

相關文章
相關標籤/搜索