scala学习笔记-Map与Tuple(10)
生活随笔
收集整理的這篇文章主要介紹了
scala学习笔记-Map与Tuple(10)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
創建Map
1 // 創建一個不可變的Map2 val ages = Map("Leo" -> 30, "Jen" -> 25, "Jack" -> 23)3 ages("Leo") = 314 // 創建一個可變的Map5 val ages = scala.collection.mutable.Map("Leo" -> 30, "Jen" -> 25, "Jack" -> 23)6 ages("Leo") = 317 // 使用另外一種方式定義Map元素8 val ages = Map(("Leo", 30), ("Jen", 25), ("Jack", 23))9 // 創建一個空的HashMap 10 val ages = new scala.collection.mutable.HashMap[String, Int]訪問Map的元素
1 // 獲取指定key對應的value,如果key不存在,會報錯 2 val leoAge = ages("Leo") 3 val leoAge = ages("leo") 4 5 // 使用contains函數檢查key是否存在 6 val leoAge = if (ages.contains("leo")) ages("leo") else 0 7 8 // getOrElse函數 9 val leoAge = ages.getOrElse("leo", 0)修改Map的元素
1 // 更新Map的元素2 ages("Leo") = 313 // 增加多個元素4 ages += ("Mike" -> 35, "Tom" -> 40)5 // 移除元素6 ages -= "Mike"7 // 更新不可變的map8 val ages2 = ages + ("Mike" -> 36, "Tom" -> 40)9 // 移除不可變map的元素 10 val ages3 = ages - "Tom"遍歷Map
1 // 遍歷map的entrySet 2 for ((key, value) <- ages) println(key + " " + value) 3 // 遍歷map的key 4 for (key <- ages.keySet) println(key) 5 // 遍歷map的value 6 for (value <- ages.values) println(value) 7 // 生成新map,反轉key和value 8 for ((key, value) <- ages) yield (value, key)SortedMap和LinkedHashMap
1 // SortedMap可以自動對Map的key的排序 2 val ages = scala.collection.immutable.SortedMap("leo" -> 30, "alice" -> 15, "jen" -> 25) 3 4 // LinkedHashMap可以記住插入entry的順序 5 val ages = new scala.collection.mutable.LinkedHashMap[String, Int] 6 ages("leo") = 30 7 ages("alice") = 15 8 ages("jen") = 25Map的元素類型—Tuple
1 // 簡單Tuple2 val t = ("leo", 30)3 4 // 訪問Tuple5 t._16 7 // zip操作8 val names = Array("leo", "jack", "mike")9 val ages = Array(30, 24, 26) 10 val nameAges = names.zip(ages) 11 for ((name, age) <- nameAges) println(name + ": " + age)?
總結
以上是生活随笔為你收集整理的scala学习笔记-Map与Tuple(10)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: scala学习笔记-数组转换(8)
- 下一篇: Scala的符号入门