Scala学習ノート--ArrayとListとTupleとSetとMap

2411 ワード

Array(可変同類オブジェクトシーケンス)Scalaではnewを使用してオブジェクトをインスタンス化します.インスタンス化の過程で、値とタイプでオブジェクトをパラメータ化することができます.これは、インスタンスを作成した同僚が「設定」を完了することを意味します.値パラメータ化インスタンスを使用することは、コンストラクタのカッコに値を渡すことによって実現されます.scala> val big = new java.math.BigInteger(“12345”) big: java.math.BigInteger = 12345
  def main(args:Array[String]){
    val greetString = new Array[String](3)
    greetString(0) = "hello"
    greetString(1) = ","
    greetString(0) = "world!!!"
    for(i <- 0 to 2)    // (0).to(2)
      print(greetString(i))
    }
scala         java  val greet:Array[String] = new Array[String](4),
    scala        ,   val    ,             ,     
           。      greetString              ;         
      Array[String]  。  Array[String]           。           。
  :
    val array = new Array[Int](4) //array   Int
    greetString = array      //error        
    greetString(0) = "abc"   //true              。

List(可変の同類オブジェクトシーケンス)は、Listの内容が変更できないことを意味し、Listのオブジェクトはval twoThree=List(2,3)val TwoThreFive=5::twoThre//==>twoThre::(5) println(TwoThreeFive)//List(5,2,3)
"::"   :"cons",                  ,              。

Tuple(メタグループ)メタグループも可変ではありませんが、リストとは異なり、メタグループにはIntとStringを同時に含めることができます.例えば、//注意:メタグループの要素へのアクセスは1から始まります.val pair=(99,"Luftballons")println(pair._1)/99_を取得1はアクセス名で、最初のフィールドprintln(pair._2)//Luftballonsを取得するなぜメタグループのアクセス要素をリストのように直接pair(0)にしたくないのですか?リストのapplyメソッドは常に同じタイプを返しますが、メタグループの中には違います.、
Set(使用セット)は変更できません:scala.collection.immutable.Set var jetSet=Set("Spark","Scala")jetSet+="hadoop"//==>>jetSet=jetSet+"hadoop"println(jetSet)上の例は、Setがscalaである.collection.immutable.Setの伴生オブジェクトはapplyメソッドを呼び出し,デフォルトの可変Setのインスタンスを返す.Scalaコンパイラは、可変でないSet[String]val pair=(99,"Luftballons")+メソッドと推定し、可変でない場合、+呼び出しは新しいセットを生成する.jetSet=jetSet+「hadoop」は新しいセットを生成しjetSetに再割り当てする.
可変:scala.collection.mutable.Set//importパッケージimport scalaのようにcollection.mutable.Set val moviceSet = Set(“Java”,”C”) moviceSet += “Sql”//====> moviceSet.+=(Sql)println(moviceSet)コンパイラは、Set()がscalaであることを認識することができる.collection.mutable.Set,moviceSetに対して+=メソッドが呼び出された
Map(マッピング)import scala.collection.mutable.Map treasureMap += (1 -> “Go to island.”) treasureMap += (2 -> “Find big X on ground.”) println(treasureMap(2))1->」が実際に呼び出されました(1).(“Go to island.”)方法