变长数组:数组缓冲数组
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