一緒にscala-Marp&Tupleを学びます
2772 ワード
Map(マッピング)は反復可能なキー値対の集合である.scalaでのマッピングの使用は非常に簡単です.
構築Map
マッピングの値の取得
マッピングの値の追加&更新
キー値ペアの削除
反復マッピング
その他のマッピング
よく使われるHashMapのほか、SortMap、LinkedHashMap、TreeMapなどがあります. SortMapは、マッピング中のキーに順次アクセスする. LinkedHashMapは挿入順にアクセスします. TreeMapキーを押して並べ替えます.Javaと相互運用する必要がある場合は、暗黙的な変換を追加すればいいです.
タプル(Tuple)
メタグループの値は、単一の値を()に含めることで構成されます.例:
ユニットのファスナー操作
コードワードは簡単ではありませんが、好きな面倒な点でお勧めします.
構築Map
//inmutable Map( , )
//
// scala -> 。
val inmutableMap = Map(("yoleen" -> 20), ("hq", 26))
// , Map 。 。
val stringToInt = new scala.collection.immutable.HashMap[String, Int]
//mutable Map( , 、 、 )
val mutableMap: mutable.Map[String, Int] = scala.collection.mutable.Map(("yoleen" -> 20), ("hq", 26))
//
val stringToInt = new scala.collection.mutable.HashMap[String, Int]
// new
マッピングの値の取得
val mutableMap: mutable.Map[String, Int] = scala.collection.mutable.Map(("yoleen" -> 20), ("hq", 26))
val v: Option[Int] = mutableMap.get("yoleen") // key some , 。 None
val v1: Int = mutableMap("yoleen")// apply , option 。
val v2: Int = mutableMap.getOrElse("yoleen", 10)// key
val v3: Int = mutableMap.getOrElseUpdate("yoleen1",op(5,6))// key 。
マッピングの値の追加&更新
val mutableMap: mutable.Map[String, Int] = scala.collection.mutable.HashMap[String,Int]
mutableMap+=("yoleen"->10)
mutableMap+=("yoletpig"->10,"alex"->20) //
mutableMap++=mutable.Map(("tony" -> 20), ("jskon", 26)) // 。
mutableMap.put("kudu",6)//
mutableMap("yoleen") = 20//
mutableMap.transform((s, i) => i * 2)// *2
キー値ペアの削除
mutableMap-="yoleen"
mutableMap-=("yoletpig","jskon") //
val option: Option[Int] = mutableMap.remove("kudu") // option
mutableMap.retain((s,i)=>s.startsWith("y") && i>=10) // "y" 10
mutableMap.clear()//
反復マッピング
for (elem
その他のマッピング
よく使われるHashMapのほか、SortMap、LinkedHashMap、TreeMapなどがあります.
import scala.collection.JavaConversions.mapAsScalaMap
タプル(Tuple)
メタグループの値は、単一の値を()に含めることで構成されます.例:
(1,3.14,"hello") //
val t = (1,3.14,"hello")
// ._1 ._2
val a = t._1 // 1
val b = t._2 // 3.14
// , 1 。
// 。
val (first,_,third) = t
// first=1,third="hello"
ユニットのファスナー操作
val sy = Array("")
val cnt = Array(2,3,2)
val pairs = sy.zip(cnt) //Array(("",2))
for((s,n)>
コードワードは簡単ではありませんが、好きな面倒な点でお勧めします.