程序员人生 网站导航

大数据系列修炼-Scala课程40

栏目:框架设计时间:2016-10-04 11:56:54

大数据系列修炼-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) } }
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐