scala-基本データ構造
1776 ワード
1.配列
オブジェクトに対する値パラメータの適用はapplyメソッドの呼び出しに変換されます.これと同様に、コンパイラは、カッコに1~複数のパラメータが含まれている変数に値を割り当てると、カッコのパラメータ(インデックス値)と等号の右側のオブジェクトに呼び出します.
配列の例:
val greetString = new Array[String](3)
greetString(0) = "Hello"
greetString(1) = ","
greetString(0) = "world!
"
for (i
上段コードの実際の呼び出しは次のとおりです.
val greetString = new Array[String](3)
greetString.update(0, "Hello")
greetString.update(1, ", ")
greetString.update(2, "world!/n")
for (i
生産環境の評価方法は次のとおりです.
val numNames = Array("zero", "one", "two")
val o = Array(1, "one")
2.リスト
val oneTwoThree = List(1, 2, 3)
2.1 2つの方法:
:::
は、2つのリストを重畳して新しいリストを返す機能を実現し、左右の操作数がリスト::
は、新しい要素を既存のリストのフロントエンドに組み合わせる.注意:メソッド名は
:
で終わり、右操作数はメソッドの呼び出し者です.::
を使用する場合は必ずリストを右に置きます.Nil
は空のリストの略記で、リストを作成する書き方は以下の通りです.val oneTwoThree = 1 :: 2 :: 3 :: Nil
リストが
append
操作を提供していないのは、リストのエッジが長くなるにつれてappend
の消費時間が線形に増加し、::
をプレフィックス操作に使用すると一定時間しか消費されないためである.3.タプル
val pair = (99, "str")
なお、メタグループのインデックスは1に基づいている.
3.1要素グループとリストの違い:
4.セット(set)とマッピング(map)
scalaのコレクション(collection)は可変と可変の2種類に分けられ、インポートパッケージを特に指定しない場合、デフォルトは可変タイプです.可変コレクションは要素を自身に追加し、可変コレクションは新しいコレクションを作成して返します.したがって,集合を定義する際には
val
,var
の選択に注意する.5.その他
配列要素が可変です.リスト、タプル要素は可変ではありません.