Scala学習ノート--ArrayとListとTupleとSetとMap
2411 ワード
Array(可変同類オブジェクトシーケンス)Scalaではnewを使用してオブジェクトをインスタンス化します.インスタンス化の過程で、値とタイプでオブジェクトをパラメータ化することができます.これは、インスタンスを作成した同僚が「設定」を完了することを意味します.値パラメータ化インスタンスを使用することは、コンストラクタのカッコに値を渡すことによって実現されます.scala> val big = new java.math.BigInteger(“12345”) big: java.math.BigInteger = 12345
List(可変の同類オブジェクトシーケンス)は、Listの内容が変更できないことを意味し、Listのオブジェクトはval twoThree=List(2,3)val TwoThreFive=5::twoThre//==>twoThre::(5) println(TwoThreeFive)//List(5,2,3)
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.”)方法
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.”)方法