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.その他


    配列要素が可変です.リスト、タプル要素は可変ではありません.