日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Scala学习之映射(Map)

發布時間:2025/5/22 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Scala学习之映射(Map) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、映射的重點內容:

1.映射中,前面的值稱之為“鍵”,后面的值稱之為“值”

2.映射是對偶的集合,由兩個值組成,他們不一定為同一種類型。

3.通過鍵查詢時,映射中并不包含該鍵,則拋出異常。

3.函數通常用來計算,而映射用來查詢。


二、用法

1、創建不可變的映射:

Map("A" -> 1) //或 HashMap("A" -> 1)

2、創建可變映射

//先引入mutable包中的Map或HasMap import scala.collection.mutable.Map Map("A" -> 1) //或 import scala.collection.mutable.HashMap HashMap("A" -> 1)

3、創建空映射

//1.注意使用new關鍵字 //2.指定映射鍵值的類型 val scores = new scala.collection.mutable.HashMap[String, Int]

?說明:可變的Map是特質,不能被實例化(即不能使用new創建對象)


4、創建一個映射的實際用法

val capital = Map("China" -> "beijing", "America" -> "Washington", "France" -> "Paris") val americaCapital = captial("America") //得到的結果是字符串類型的Washington

?之前說過,如果通過鍵查詢時,鍵不存在于該映射則拋出異常,如下:

val japanCapital = capital("Japan") //系統拋出異常

?所以我們可以使用contains方法檢查鍵是否存在,如下:

val japanCapital = if(capital.contains("Japan")) capital("Japan") else ""

?或者使用getOrElse方法,如下:

val japanCapital = capital.getOrElse("Japan","")


5、可變映射的方法:


import scala.collection.mutable.Map val scores = Map("Alice" -> 1) //更新Alice鍵對應的值 scores("Alice") = 2 //增加新的鍵值對 scores("Bob") = 3 //將其他的Map鍵值對映射關系合并到本Map之后 val newScores = Map("Fred" -> 4) scores += newScores //或 scores += ("Fred" -> 4) //刪除某個鍵值對 scores -= "Alice"

6、迭代:

for((k,v) <- 映射) 處理 k,v

//打印映射 val myMap = Map("A" -> 1, "B" -> 2, "C" -> 3) for((k,v) <- myMap) println(k+" "+v) //只打印鍵 for(k <- myMap.keySet) println(k) //只打印值 for(v <- myMap.values) println(v) //反轉映射 for((k,v) <- myMap) yield (v,k)


轉載于:https://blog.51cto.com/heyijx2/1367687

總結

以上是生活随笔為你收集整理的Scala学习之映射(Map)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。