標籤:
今天來看下set map的操作,讓我們從代碼出發
val data = mutable.Set.empty[Int]
data ++= List(1,2,3)//在空set上加入列表
data += 4//在set上加入新元素
data --= List(2,3)
println(data) //Set(1, 4)
data += 1
println(data)//Set(1, 4),說明Set元素不能重複
data.clear()
println(data)//Set()
我們可以看出,Set和List的操作大致是一樣的,不過重要的區別就是:Set中不充許出現重複的元素!
再來看看Map的操作
val map = mutable.Map.empty[String,String]
map("java")="hadoop"
map("scala")="spark"
println(map)//Map(scala -> spark, java -> hadoop)
println(map("scala"))//spark
Map是以key value的形式儲存資料的,並且所有的key,所有的value都是同一類型。
其實,Set和Map加入元素的時候,是沒有順序的,但是我們實際應用當中,可能需要有順序的Set或Map,這時,就用到了TreeSet和TreeMap
val treeset = TreeSet(9,3,1,8,0,2,7,4,6,5)
println(treeset)//TreeSet(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
val treesetForChar = TreeSet("spark","scala","hadoop")
println(treesetForChar)//TreeSet(hadoop, scala, spark)
var treeMap=TreeMap("scala"->"spark","java"->"hadoop")
println(treeMap)//Map(java -> hadoop, scala -> spark)
我們可以發現,列印出的結果都是排好序的。
分享下更多的scala資源吧:
百度雲端硬碟:http://pan.baidu.com/s/1gd7133t
微云云盤:http://share.weiyun.com/047efd6cc76d6c0cb21605cfaa88c416
360雲端硬碟: http://yunpan.cn/cQN9gvcKXe26M (提取碼:13cd)
資訊來源於 DT大資料夢工廠公眾帳號:DT_Spark
關注帳號,擷取更多關於scala學習內容
第40講:Set、Map、TreeSet、TreeMap作業碼實戰