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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Scala与Java差异(五)之Map与Tuple

發(fā)布時(shí)間:2023/12/3 java 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Scala与Java差异(五)之Map与Tuple 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、?創(chuàng)建Map

(1)創(chuàng)建Map

// 創(chuàng)建一個(gè)不可變的Map val ages = Map("Leo" -> 30, "Jen" -> 25, "Jack" -> 23) ages("Leo") = 31 // 創(chuàng)建一個(gè)可變的Map val ages = scala.collection.mutable.Map("Leo" -> 30, "Jen" -> 25, "Jack" -> 23) ages("Leo") = 31 // 使用另外一種方式定義Map元素 val ages = Map(("Leo", 30), ("Jen", 25), ("Jack", 23)) // 創(chuàng)建一個(gè)空的HashMap val ages = new scala.collection.mutable.HashMap[String, Int]

(2)訪問Map的元素

// 獲取指定key對應(yīng)的value,如果key不存在,會報(bào)錯 val leoAge = ages("Leo") val leoAge = ages("leo")// 使用contains函數(shù)檢查key是否存在 val leoAge = if (ages.contains("leo")) ages("leo") else 0// getOrElse函數(shù) val leoAge = ages.getOrElse("leo", 0)

(3)修改Map的元素

// 更新Map的元素 ages("Leo") = 31 // 增加多個(gè)元素 ages += ("Mike" -> 35, "Tom" -> 40) // 移除元素 ages -= "Mike" // 更新不可變的map val ages2 = ages + ("Mike" -> 36, "Tom" -> 40) // 移除不可變map的元素 val ages3 = ages - "Tom"

(4)遍歷Map

// 遍歷map的entrySet for ((key, value) <- ages) println(key + " " + value) // 遍歷map的key for (key <- ages.keySet) println(key) // 遍歷map的value for (value <- ages.values) println(value) // 生成新map,反轉(zhuǎn)key和value for ((key, value) <- ages) yield (value, key)

(5)?SortedMap和LinkedHashMap

// SortedMap可以自動對Map的key的排序 val ages = scala.collection.immutable.SortedMap("leo" -> 30, "alice" -> 15, "jen" -> 25)// LinkedHashMap可以記住插入entry的順序 val ages = new scala.collection.mutable.LinkedHashMap[String, Int] ages("leo") = 30 ages("alice") = 15 ages("jen") = 25

?

二、Map的元素類型—Tuple

// 簡單Tuple val t = ("leo", 30)// 訪問Tuple t._1// zip操作 val names = Array("leo", "jack", "mike") val ages = Array(30, 24, 26) val nameAges = names.zip(ages) for ((name, age) <- nameAges) println(name + ": " + age)

?

總結(jié)

以上是生活随笔為你收集整理的Scala与Java差异(五)之Map与Tuple的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。