|
大数据系列修炼-Scala课程40
核心内容:
1、Set、Map、TreeSet、TreeMap操作代码实战
| 1、Set、Map、TreeSet、TreeMap操作代码实战 |
1>在scala当中,对于集合而言,一般有可变集合与不可变集合。所谓可变集合就是每次操作都是作用于原有集合之上,例如当我们
向集合中追加一个元素时,原有集合就会新增加一个新的元素;所谓不可变集合即集合本身是不可变的,例如当我们向集合中追加
一个元素时,它本身会产生一个新的集合。
2>默认情况下,scala鼓励我们使用不可变对象进行编程,因此在头文件中默认引入的都是不可变的类对象,因此如果我们需要mutable类型的
类则需要引入相应的包
3>在Set集合与Map集合当中,元素放进去之后是没有顺序的,如果我们希望元素放进去之后是有顺序的,我们可以使用TreeSet与TreeMap,
因为凡是将类对象放到以Tree为内部存储结构的容器中,相应的类对象默认按照升序进行排序
4>凡是Java中自带的数据类型,相应的类都已经实现了Comparable接口中的compareTo方法
5>Scala中Set、Map、List存储结构的特点与Java中相同
6>scala集合当中常用的操作符:+= ++= -= –=
实例程序:
object App
{
def main(args:Array[String]):Unit=
{
import scala.collection.mutable.Set
val data = Set[Int]()
data +=4
data ++= List(10,20,30)
data -=10
data --= List(30)
println(data)
println(data.clear())
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"))
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)
}
}
|