上圖是mutabl的類圖,在Seq下有一個Buffer,是其餘集合包裏沒有的.ide
Buffer是mutable下一個比較重要的元素,他不只容許更新已經存在的元素,同時容許元素的增長,刪除,追加新元素到buffer尾部。buffer最主要的新方法以下:
spa
尾部追加:+= , ++=索引
頭部添加:+=: , ++=:
ci
3. 插入: insert, insertAllrem
4. 刪除: remove , -=it
兩個經常使用的Buffer實現,ListBuffer 和 ArrayBuffer. 見名見意,ListBuffer被List支持,他可以高效的轉換他的元素到一個List. 而ArrayBuffer被Array支持,也能快速的轉換爲一個Array.io
Class Buffer中的方法table
WHAT IT IS | WHAT IT DOES |
添加 | |
buf += x | 追加元素x到buffer,返回buf |
buf += (x, y, z) | 追加括號內元素到buf |
buf ++= xs | 追加集合xs中的元素到buf |
x +=: buf | buf頭部插入元素x |
xs ++=: buf | buf頭部插入xs的全部元素 |
buf insert (i, x) | 插入x到索引i的位置 |
buf insertAll (i, xs) | 插入xs的全部元素,以i位置爲起始 |
刪除 | |
buf -= x | 從buffer中刪除元素x |
buf remove i | 刪除索引i的元素 |
buf remove (i, n) | 刪除n個元素,從索引i開始 |
buf trimStart n | 刪除前n個元素 |
buf trimEnd n | 刪除後n個元素 |
buf.clear() | 清空buffer |
克隆 |
|
buf.clone | 生成一個心的buf,包含的元素相同 |