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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

map写法 scala语言_Scala中的Map使用例子

發布時間:2025/4/5 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 map写法 scala语言_Scala中的Map使用例子 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Map結構是一種非常常見的結構,在各種程序語言都有對應的api,由于Spark的底層語言是Scala,所以有必要來了解下Scala中的Map使用方法。

(1)不可變Map

特點:

api不太豐富

如果是var修飾,引用可變,支持讀寫

如果是val修飾,引用不可變,只能寫入一次值,其后只讀

var a:Map[String,Int]=Map("k1"->1,"k2"->2)//初始化構造函數

a += ("k3"->3)//添加元素

a += ("k4"->4)//添加元素

a += ("k1"->100)//已經存在添加元素會覆蓋

a -= ("k2","k1")//刪除元素

// a("k1") = "foo"//不支持

println(a.contains("k6"))//是否包含某元素

println(a.size)//打印大小

println(a.get("k1").getOrElse("default")) //根據key讀取元素,不存在就替換成默認值

a.foreach{case (e,i) => println(e,i)} //遍歷打印1

for( (k,v)

println(a.isEmpty)//判斷是否為空

a.keys.foreach(println)//只打印key

a.values.foreach(println)//只打印value

a=Map()//數據清空使用再次new

println(a.size)

a.toSeq.sortBy(_._1)//升序排序 key

a.toSeq.sortBy(_._2)//升序排序 value

a.toSeq.sortWith(_._1>_._1) //降序排序 key

a.toSeq.sortWith(_._2>_._2) //降序排序 value

//下面自定義按英文字母或數字排序

implicit val KeyOrdering=new Ordering[String] {

override def compare(x: String, y: String): Int = {

x.compareTo(y)

}

}

println(a.toSeq.sorted)

(2)可變Map例子

特點:

api豐富與Java中Map基本類似

如果是var修飾,引用可變,支持讀寫

如果是val修飾,引用不可變,支持讀寫

def map3(): Unit ={

//不可變Map+var關鍵詞修飾例子

var a:scala.collection.mutable.Map[String,Int]=scala.collection.mutable.Map("k1"->1,"k2"->2)//初始化構造函數

a += ("k3"->3)//添加元素

a += ("k4"->4)//添加元素

a += ("k1"->100)//已經存在添加元素會覆蓋

a += ("k1"->100,"k9"->9)//添加多個元素

a -= ("k2","k1")//刪除元素

a ++= List("CA" -> 23, "CO" -> 25)//追加集合

a --= List("AL", "AZ")//刪除集合

a.retain((k,v)=> k=="k1")//只保留等于k1元素,其他的刪除

a.put("put1",200)//put

a.remove("k2")//remove

a.clear()//清空

a("k3")=100//支持

println(a.contains("k6"))//是否包含某元素

println(a.size)//打印大小

println(a.get("k1").getOrElse("default")) //根據key讀取元素,不存在就替換成默認值

a.foreach{case (e,i) => println(e,i)} //遍歷打印1

for( (k,v)

println(a.isEmpty)//判斷是否為空

a.keys.foreach(println)//只打印key

a.values.foreach(println)//只打印value

a=scala.collection.mutable.Map()//引用能變

println(a.size)

a.toSeq.sortBy(_._1)//排序 key

a.toSeq.sortBy(_._2)//排序 value

a.toSeq.sortWith(_._1>_._1) //降序排序 key

a.toSeq.sortWith(_._2>_._2) //降序排序 value

//下面自定義按英文字母或數字排序

implicit val KeyOrdering=new Ordering[String] {

override def compare(x: String, y: String): Int = {

x.compareTo(y)

}

}

println(a.toSeq.sorted)

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的map写法 scala语言_Scala中的Map使用例子的全部內容,希望文章能夠幫你解決所遇到的問題。

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