大數據系列修煉-Scala課程40
核心內容:
1、Set、Map、TreeSet、TreeMap操作代碼實戰
1、Set、Map、TreeSet、TreeMap操作代碼實戰 |
1>在scala當中,對集合而言,1般有可變集合與不可變集合。所謂可變集合就是每次操作都是作用于原有集合之上,例如當我們
向集合中追加1個元素時,原有集合就會新增加1個新的元素;所謂不可變集合即集合本身是不可變的,例如當我們向集合中追加
1個元素時,它本身會產生1個新的集合。
2>默許情況下,scala鼓勵我們使用不可變對象進行編程,因此在頭文件中默許引入的都是不可變的類對象,因此如果我們需要mutable類型的
類則需要引入相應的包
3>在Set集合與Map集合當中,元素放進去以后是沒有順序的,如果我們希望元素放進去以后是有順序的,我們可使用TreeSet與TreeMap,
由于凡是將類對象放到以Tree為內部存儲結構的容器中,相應的類對象默許依照升序進行排序
4>凡是Java中自帶的數據類型,相應的類都已實現了Comparable接口中的compareTo方法
5>Scala中Set、Map、List存儲結構的特點與Java中相同
6>scala集合當中經常使用的操作符:+= ++= -= –=
實例程序:
object App
{
//本節的重點是掌握Set、TreeSet、TreeMap、Map的集合的用法
def main(args:Array[String]):Unit=
{
import scala.collection.mutable.Set
//Set集合總不允許寄存重復的元素,元素寄存是無序的
val data = Set[Int]()
data +=4
data ++= List(10,20,30)
data -=10
data --= List(30)
println(data)
println(data.clear())
//Map集合中不允許寄存重復的鍵值Key,后面的value會覆蓋掉前面的value
import scala.collection.mutable.Map
val map = Map[String,Double]()
map += (("Hadoop",80.8))
map += (("Spark",100.0))
map += (("Spark",100.0))
map += (("Spark",80.0))
println(map.mkString("[","----","]"))
println(map.apply("Hadoop"))
println(map.apply("Spark"))
//凡是將類對象放到以Tree為內部存儲結構的容器中,相應的類對象默許依照升序進行排序
//凡是Java中自帶的數據類型,相應的類都已實現了Comparable接口中的compareTo方法
val treeSet = TreeSet(10,20,30,40,80,5)
println(treeSet)
treeSet += 1
println(treeSet)
val treeSet2 = TreeSet("Spark","Scala","Hadoop")
println(treeSet2)
val treeMap = TreeMap("Scala"->"Spark","Java"->"Hadoop")
println(treeMap)
}
}
上一篇 仿知乎日報第六篇:為MainFragement加載數據
下一篇 php的魔術方法