好程式設計師大資料學習路線分享Scala系列之對映Map
好程式設計師大資料學習路線分享Scala 系列之對映 Map首先我們先來看一下什麼是 對映(map )
在Scala中,把雜湊表這種資料結構叫做對映。
1. 構建對映
在Scala中,有兩種Map,一個是immutable包下的Map,該Map中的內容不可變;另一個是mutable包下的Map,該Map中的內容可變。
構建一個不可變的map
使用元組方式構建
構建一個可變的map
2. 獲取和修改對映中的值
根據鍵獲取map中對應的值,可以有以下三種方法,尤其推薦使用getOrElse方法。
修改可變map資訊,遍歷訪問map
object MappingDemo {
def main(args: Array[String]): Unit = {
//
定義構建一個可變的
map
val scores = scala.collection.mutable.Map ("zhangsan" -> 90, "lisi" -> 80, "wangwu" -> 0)
//val scores2 = scala.collection.mutable.Map ("moumou"->50)
//
修改
map
中對應鍵的值
scores("wangwu") = 100
//
新增新的鍵值到
map
中
scores("zhaoliu") = 50
//
類似
scores.update("zhangsan",50)
scores += ("sunqi" -> 60, "qianba" -> 99)
//scores ++ =scores2
//
移除某個鍵值對
scores -= "zhangsan"
//
類似
scores.remove("zhangsan")
//scores -- =scores2
不好用???
//
獲取鍵的集合並遍歷
//
意義不大?如何透過建取到值
val res = scores.keySet
for(elem <- res)
print(elem + " ")
println()
//
遍歷
map
for ((k,v) <- scores)
print(k+":"+v+" ")
}
執行結果
3. HashMap
可變map
import scala.collection.mutable
object MutMapDemo
extends App{
val map1 =
new mutable.HashMap[String, Int]()
//
向
map
中新增資料
map1("spark") = 1
map1 += (("hadoop", 2))
map1.put("storm", 3)
println(map1)
//
從
map
中移除元素
map1 -= "spark"
map1.remove("hadoop")
println(map1)
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2655978/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師大資料學習路線分享Scala系列之物件程式設計師大資料物件
- 好程式設計師大資料學習路線分享函式+map對映+元祖程式設計師大資料函式
- 好程式設計師大資料學習路線分享Scala系列之抽象類程式設計師大資料抽象
- 好程式設計師大資料學習路線分享Scala系列之陣列程式設計師大資料陣列
- 好程式設計師大資料學習路線分享Scala系列之泛型程式設計師大資料泛型
- 好程式設計師大資料學習路線分享spark之Scala程式設計師大資料Spark
- 好程式設計師大資料學習路線分享Scala系列之基礎篇程式設計師大資料
- 好程式設計師大資料學習路線分享Scala系列之集合操作函式程式設計師大資料函式
- 好程式設計師大資料學習路線分享Map學習筆記程式設計師大資料筆記
- 好程式設計師Java學習路線分享mybatis對映程式設計師JavaMyBatis
- 好程式設計師大資料學習路線分享Scala分支和迴圈程式設計師大資料
- 好程式設計師大資料學習路線分享大資料之字串程式設計師大資料字串
- 好程式設計師大資料教程分享Scala系列之閉包程式設計師大資料
- 好程式設計師大資料分享Scala系列之柯里化程式設計師大資料
- 好程式設計師大資料學習路線分享MAPREDUCE程式設計師大資料
- 好程式設計師大資料學習路線分享SparkSQl程式設計師大資料SparkSQL
- 好程式設計師大資料學習路線分享scala單列和伴生物件程式設計師大資料物件
- 好程式設計師大資料學習路線分享大資料之執行緒程式設計師大資料執行緒
- 好程式設計師大資料學習路線分享Hbase指令學習程式設計師大資料
- 好程式設計師大資料教程Scala系列之類程式設計師大資料
- 好程式設計師大資料學習路線分享大資料之基礎語法程式設計師大資料
- 好程式設計師大資料學習路線之Logstach與flume對比程式設計師大資料
- 好程式設計師大資料學習路線Hadoop學習乾貨分享程式設計師大資料Hadoop
- 好程式設計師大資料學習路線分享HDFS學習總結程式設計師大資料
- 好程式設計師大資料學習路線分享hdfs學習乾貨程式設計師大資料
- 好程式設計師大資料學習路線分享Actor學習筆記程式設計師大資料筆記
- 好程式設計師大資料學習路線之mapreduce概述程式設計師大資料
- 好程式設計師大資料培訓分享spark之Scala程式設計師大資料Spark
- 好程式設計師大資料學習路線分享HDFS讀流程程式設計師大資料
- 好程式設計師大資料學習路線分享AWK詳解程式設計師大資料
- 好程式設計師大資料學習路線分享UDF函式程式設計師大資料函式
- 好程式設計師大資料學習路線分享Lambda表示式程式設計師大資料
- 好程式設計師大資料教程Scala系列之繼承程式設計師大資料繼承
- 好程式設計師大資料學習路線之zookeeper乾貨程式設計師大資料
- 好程式設計師大資料學習路線分享高階函式程式設計師大資料函式
- 好程式設計師大資料學習路線分享Hadoop機架感知程式設計師大資料Hadoop
- 好程式設計師大資料教程分享Scala系列之Option_偏函式_String程式設計師大資料函式
- 好程式設計師大資料學習路線分享TCP和UDP學習筆記程式設計師大資料TCPUDP筆記