スカラ - 地図操作

1.定義地図

1.1、不変である不変地図の定義

スカラ>ヴァルM =マップ( "トム" - > 55 "のJak" - > 56、 "ジム" - > 66)
M:scala.collection.immutable.Map [文字列、INT] =マップ(トム- > 55、 JAK - > 56、ジム- > 66)

>シンボル定義 - //により、

-------------------------------------------------- -----------------------------

スカラ>ヴァルM =マップ(( "トム"、23)、( "ジャック"、45)、( "Tinna"、66))
M:scala.collection.immutable.Map [文字列、INT] =マップ(トム- > 23、ジャック- > 45、Tinna - > 66)

//タプルの方法によって定義

-------------------------------------------------- ----------------------------

1.2、変数定義Mapmutable

スカラ>ヴァルM = scala.collection.mutable.Map( "トム" - > 55 "のJak" - > 56、 "ジム" - > 66)
M:scala.collection.mutable.Map [文字列、INT] =地図(ジム- > 66、トム- > 55、のJak - > 56)

// scala.collection.mutable.Map地図を指定して変数を定義

================================================== ==========

2.アクセスマップ要素

スカラ> M
RES0:scala.collection.mutable.Map [文字列、INT] =マップ(ジム- > 66、トム- > 55のJak - > 56)

スカラ>メートル( "トム")
RES1ます。int = 55

スカラ>メートル( "トムズ")
java.util.NoSuchElementException:キーが見つかりません:トムズ
:scala.collection.MapLike $ class.defaultで(228 MapLike.scala)
59:scala.collection.AbstractMap.default(Map.scalaで)
scala.collection.mutable.HashMap.apply(HashMap.scalaで:65)
... 32省か

//直接地図の値の要素へのアクセスが、この要素は文句はありません存在しないと、文句を言うだろう

スカラ> m.get( "トム")
RES2:オプション[INT] =いくつか(55)

スカラ> m.get( "トムズ")
RES6:オプション[INT] =なし

//この要素が存在しないと、それはNoneを返しますが、getメソッドによって要素の値を取得します。

スカラ> m.getOrElse( "トム"、 - 1)
RES4ます。int = 55

スカラ> m.getOrElse( "トムズ"、 - 1)
res7ます。int = -1

// getOrElse方法は、存在する場合、要素は、要素が存在しない場合、それが返されます、値を返します-1

================================================== ==============

図3は、地図を修正することができる可変でなければならないマップ要素の値を変更します

スカラ> M
res8:scala.collection.mutable.Map [文字列、INT] =マップ(ジム- > 66、トム- > 55、のJak - > 56

Scalaは> メートル( "トム")は65を=

スカラ> M
res10:scala.collection.mutable.Map [文字列、INT] =マップ(ジム- > 66、トム- > 65、のJak - > 56)

//直接方法を変更することにより、要素の値を変更

================================================== ===============

4、各要素は、地図を横断します

スカラ>(S < - M)のためのprintln(S)
ジム、66)
トム、65)
のJak、56)

各要素をループの値が//アクセスマップ

-------------------------------------------------- ---

スカラ> m.foreach(のprintln)
ジム、66)
トム・65)
として、56)

様々な要素のforeachの地図マップを介してアクセス//値

=========================================

図5は、可変は可変である、ヴァルは、不変であり、両者が競合しているかどうか?

2が競合していません

おすすめ

転載: www.cnblogs.com/jeff190812/p/11823219.html