大数据系列修炼-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的魔术方法