This repository was archived by the owner on Mar 19, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcollections_6.html
More file actions
145 lines (145 loc) · 5.97 KB
/
collections_6.html
File metadata and controls
145 lines (145 loc) · 5.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<meta name="generator" content=
"HTML Tidy for Mac OS X (vers 25 March 2009), see www.w3.org" />
<title>Scala 2.8 Collections API -- バッファ</title>
<link rel="stylesheet" type="text/css" href="guide.css" />
</head>
<body dir="ltr">
<table width="100%" cellpadding="0" cellspacing="2">
<tr>
<td bgcolor="#99CCFF"><img alt="" src="blank.png" /></td>
<td bgcolor="#99CCFF"><a href="collections_5.html"><img border="0"
alt="列トレイト Seq, IndexedSeq, および LinearSeq" src="up.png" /></a></td>
<td bgcolor="#99CCFF"><img alt="" src="blank.png" /></td>
<td align="center" bgcolor="#99CCFF" width="100%"><b>バッファ</b></td>
<td bgcolor="#99CCFF" align="center" class="tocref"><a href=
"collections_49.html">目次</a></td>
</tr>
</table>
<blockquote style=
"border-left: 1px solid gray; font-family: Century, Times, 'Times New Roman', 'MS Gothic', serif; padding-left: 1em;">
最新版は <a href="http://docs.scala-lang.org/ja/overviews/collections/seqs.html">Scala Documentation</a> に移行しました。
</blockquote>
<h2>バッファ</h2>
<p>可変列に分類されるものの中で重要なものに <tt>Buffer</tt>
がある。バッファは既存の要素を上書きできるだけでなく、要素を挿入したり、削除したり、効率的にバッファの最後に新しい要素を追加したりできる。バッファがサポートする新しいメソッドの中で主要なものは、要素を最後に追加する
<tt>+=</tt> と <tt>++=</tt>、先頭に追加する <tt>+=:</tt> と
<tt>++=:</tt>、要素を挿入する <tt>insert</tt> と
<tt>insertAll</tt>、そして要素を削除する <tt>remove</tt> と <tt>-=</tt>
だ。以下の表にこれらの演算をまとめた。</p>
<p>よく使われるバッファの実装に <tt>ListBuffer</tt> と <tt>ArrayBuffer</tt>
がある。名前が示すとおり、<tt>ListBuffer</tt> は <tt>List</tt> に支えられており、要素を効率的に
<tt>List</tt> に変換できる。一方、<tt>ArrayBuffer</tt>
は配列に支えられており、これも素早く配列に変換できる。</p>
<table border="0" cellspacing="0" class="ops">
<tbody>
<tr>
<th align="center" colspan="2">
<a href="http://www.scala-lang.org/api/current/scala/collection/mutable/Buffer.html">
<tt>Buffer</tt></a> トレイトの演算<a name="id1" id=
"id1"> </a>
<a name="tab:bufferops" id="tab:bufferops"> </a></th>
</tr>
<tr>
<th align="left">使用例</th>
<th align="left">振る舞い</th>
</tr>
<tr>
<th class="opcat" align="left" colspan="2">加算:</th>
</tr>
<tr>
<td align="left"><tt>buf</tt> <tt>+=</tt> <tt>x</tt></td>
<td align="left">バッファの最後に要素 <tt>x</tt> を追加し、<tt>buf</tt>
自身を戻り値として返す。</td>
</tr>
<tr>
<td align="left">
<tt>buf</tt> <tt>+=</tt> <tt>(x,</tt> <tt>y,</tt> <tt>z)</tt></td>
<td align="left">渡された要素をバッファの最後に追加する。</td>
</tr>
<tr>
<td align="left">
<tt>buf</tt> <tt>++=</tt> <tt>xs</tt></td>
<td align="left"><tt>xs</tt>内の全ての要素をバッファの最後に追加する。</td>
</tr>
<tr>
<td align="left">
<tt>x</tt> <tt>+=:</tt> <tt>buf</tt></td>
<td align="left">バッファの先頭に要素 <tt>x</tt> を追加する。</td>
</tr>
<tr>
<td align="left">
<tt>xs</tt> <tt>++=:</tt> <tt>buf</tt></td>
<td align="left"><tt>xs</tt>内の全ての要素をバッファの先頭に追加する。</td>
</tr>
<tr>
<td align="left">
<tt>buf</tt> <tt>insert</tt> <tt>(i,</tt> <tt>x)</tt></td>
<td align="left">バッファの添字 <tt>i</tt> の位置に要素 <tt>x</tt> を挿入する。</td>
</tr>
<tr>
<td align="left">
<tt>buf</tt> <tt>insertAll</tt> <tt>(i,</tt> <tt>xs)</tt></td>
<td align="left"><tt>xs</tt>内の全ての要素をバッファの添字 <tt>i</tt>
の位置に挿入する。</td>
</tr>
<tr>
<th class="opcat" align="left" colspan="2">減算:</th>
</tr>
<tr>
<td align="left"><tt>buf</tt> <tt>-=</tt> <tt>x</tt></td>
<td align="left">バッファから要素 <tt>x</tt> を削除する。</td>
</tr>
<tr>
<td align="left">
<tt>buf</tt> <tt>remove</tt> <tt>i</tt></td>
<td align="left">バッファの添字 <tt>i</tt> の位置の要素を削除する。</td>
</tr>
<tr>
<td align="left">
<tt>buf</tt> <tt>remove</tt> <tt>(i,</tt> <tt>n)</tt></td>
<td align="left">バッファの添字 <tt>i</tt> の位置から始まる
<tt>n</tt>個の要素を削除する。</td>
</tr>
<tr>
<td align="left">
<tt>buf</tt> <tt>trimStart</tt> <tt>n</tt></td>
<td align="left">バッファの先頭の要素 <tt>n</tt>個を削除する。</td>
</tr>
<tr>
<td align="left">
<tt>buf</tt> <tt>trimEnd</tt> <tt>n</tt></td>
<td align="left">バッファの最後の要素 <tt>n</tt>個を削除する。</td>
</tr>
<tr>
<td align="left"><tt>buf.clear()</tt></td>
<td align="left">バッファの全ての要素を削除する。</td>
</tr>
<tr>
<th class="opcat" align="left" colspan="2">クローン演算:</th>
</tr>
<tr>
<td align="left"><tt>buf.clone</tt></td>
<td align="left"><tt>buf</tt> と同じ要素を持った新しいバッファ。</td>
</tr>
</tbody>
</table>
<p>続いては、<a href="collections_7.html">集合</a></p>
<hr />
<table width="100%" cellpadding="0" cellspacing="2">
<tr>
<td bgcolor="#99CCFF"><img alt="" src="blank.png" /></td>
<td bgcolor="#99CCFF"><a href="collections_5.html"><img border="0"
alt="列トレイト Seq, IndexedSeq, および LinearSeq" src="up.png" /></a></td>
<td bgcolor="#99CCFF"><img alt="" src="blank.png" /></td>
<td align="center" bgcolor="#99CCFF" width="100%"><b>バッファ</b></td>
<td bgcolor="#99CCFF" align="center" class="tocref"><a href=
"collections_49.html">目次</a></td>
</tr>
</table>
</body>
</html>