![]()  | ![]()  | ![]()  | Buffers | 目次 | 
可変な列の重要なサブカテゴリはバッファ(Buffer)です。 バッファは既存要素の更新だけなく、要素の挿入・要素の削除・および新しい要素の末尾への効率的な追加もできます。 バッファでサポートされる新しいメソッドのうち主要なものは、 末尾に対する要素の追加のための+=および++=、 先頭に対する追加のための+=:および++=:、 要素の挿入のためのinsertおよびinsertAll、 要素の削除のためのremoveおよび-=です。 これらの演算は以下の表に要約できます。
バッファの実装で良く使われるのはListBufferとArrayBufferの2つです。 その名前が示すようにListBufferはリストによって支えらられ、要素のリストへの効率的な変換をサポートし、 一方でArrayBufferは配列によって支えられ、素早く配列に変換できます。
| 何であるか | 何をするか | 
|---|---|
| 追加: | |
| buf += x | 要素xをバッファに追加して、buf自身を結果として返す。 | 
| buf += (x, y, z) | 与えらえた要素をバッファに追加する。 | 
| buf ++= xs | xsの全ての要素をバッファに追加する。 | 
| x +=: buf | 要素xをバッファの最初に追加する。 | 
| xs ++=: buf | xsの全ての要素をバッファの最初に追加する。 | 
| buf insert (i, x) | バッファの添字iの場所に要素xを挿入する。 | 
| buf insertAll (i, xs) | バッファの添字iの場所にxsの全ての要素を挿入する。 | 
| 削除: | |
| buf -= x | 要素xをバッファから取り除く。 | 
| buf remove i | 添字iにある要素をバッファから取り除く。 | 
| buf remove (i, n) | 添字iから始まるn要素をバッファから取り除く。 | 
| buf trimStart n | バッファから最初のn要素を取り除く。 | 
| buf trimEnd n | バッファから最後のn要素を取り除く。 | 
| buf.clear() | バッファの全ての要素を取り除く。 | 
| 複製: | |
| buf.clone | bufと同じ要素を持つ新しいバッファ。 | 
続いては: 集合
![]()  | ![]()  | ![]()  | Buffers | 目次 |