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_16.html
More file actions
101 lines (101 loc) · 4.55 KB
/
collections_16.html
File metadata and controls
101 lines (101 loc) · 4.55 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
<!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 コレクション 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"><a href="collections_17.html"><img border="0"
alt="不変キュー" src="next.png" /></a></td>
<td bgcolor="#99CCFF"><a href="collections_12.html"><img border="0"
alt="具象不変コレクションクラス" src="up.png" /></a></td>
<td bgcolor="#99CCFF"><a href="collections_15.html"><img border="0"
alt="ベクトル" src="previous.png" /></a></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/concrete-immutable-collection-classes.html">Scala Documentation</a> に移行しました。
</blockquote>
<h2>不変スタック</h2>
<p>後入れ先出し (LIFO: last in first out) の列が必要ならば、スタック (<a href=
"http://www.scala-lang.org/api/current/scala/collection/immutable/Stack.html"><tt>Stack</tt></a>)
がある。 <tt>push</tt> <a name="id1" id=
"id1">メソッドを使ってスタックに要素をプッシュ、<tt>pop</tt></a> <a name="id2" id=
"id2">を使ってポップ、そして<tt>top</tt></a>
を使って削除することなく一番上の要素を読み込むことができる。これらの演算は、全て定数時間で行われる。</p>
<p>以下はスタックに対して行われる簡単な演算の例だ:</p>
<div class="quote">
<table cellspacing="1" cellpadding="0">
<tr>
<td colspan="99" align="left"><tt>scala> <font color=
"#0000E5">val</font> stack = scala.collection.immutable.</tt><tt>Stack.empty</tt></td>
</tr>
<tr>
<td colspan="99" align="left"><tt><font color=
"#590000">stack: scala.collection.immutable.</font></tt><tt><font color="#590000">Stack[Nothing] = Stack()</font></tt></td>
</tr>
<tr>
<td colspan="99" align="left"><tt>scala> <font color=
"#0000E5">val</font> hasOne = stack.push(<font color="#000000">1</font>)</tt></td>
</tr>
<tr>
<td colspan="99" align="left"><tt><font color=
"#590000">hasOne: scala.collection.immutable.</font></tt><tt><font color="#590000">Stack[Int] = Stack(1)</font></tt></td>
</tr>
<tr>
<td colspan="99" align="left"><tt>scala> stack</tt></td>
</tr>
<tr>
<td colspan="99" align="left"><tt><font color=
"#590000">stack: scala.collection.immutable.</font></tt><tt><font color="#590000">Stack[Nothing] = Stack()</font></tt></td>
</tr>
<tr>
<td colspan="99" align="left">
<tt>scala> hasOne.top</tt></td>
</tr>
<tr>
<td colspan="99" align="left"><tt><font color=
"#590000">res20: Int = 1</font></tt></td>
</tr>
<tr>
<td colspan="99" align="left">
<tt>scala> hasOne.pop</tt></td>
</tr>
<tr>
<td colspan="99" align="left"><tt><font color=
"#590000">res19: scala.collection.immutable.</font></tt><tt><font color="#590000">Stack[Int] = Stack()</font></tt></td>
</tr>
</table>
</div>
<p>機能的にリストとかぶるため、不変スタックが Scala のプログラムで使われることは稀だ: 不変スタックの
<tt>push</tt> はリストの <tt>::</tt> と同じで、<tt>pop</tt> はリストの
<tt>tail</tt> と同じだ。</p>
<p>続いては、<a href="collections_17.html">不変キュー</a></p>
<hr />
<table width="100%" cellpadding="0" cellspacing="2">
<tr>
<td bgcolor="#99CCFF"><a href="collections_17.html"><img border="0"
alt="不変キュー" src="next.png" /></a></td>
<td bgcolor="#99CCFF"><a href="collections_12.html"><img border="0"
alt="具象不変コレクションクラス" src="up.png" /></a></td>
<td bgcolor="#99CCFF"><a href="collections_15.html"><img border="0"
alt="ベクトル" src="previous.png" /></a></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>