Scala学习整理[第十七-十八章 集合和有状态对象]<Programming In Scala>
2017-01-10 18:09
525 查看
这两章内容之前有所提到 ,因此不再赘述
package SecondWithProgrammingInScala import scala.collection.mutable import scala.collection.mutable.Stack import scala.collection.mutable.{ArrayBuffer, ListBuffer} /** * 集合库 * mutable 元素可变(+/=操作是对元素进行修改) * immutable 元素不可变(使用var 和 +/=操作符实质是改变的变量指向 ,而不是元素变化) * */ class Collection { //基本序列 val array = Array(1, 2, 3) val list = List(4, 5, 6) //缓存序列 val arrayBuffer = ArrayBuffer(1, 2, 3) val listBuffer = ListBuffer(4, 5, 6) //队列 val queue = new mutable.Queue[Int] queue.enqueue(1) queue.dequeue //栈 val stack = new Stack[Int] stack.push(1, 2, 3) stack.pop //集合 val set = Set("a", "b", "c") //映射 val map = Map(1 -> "a", 2 -> "b") //有序的集合和映射 val treeSet = mutable.TreeSet(3, 11, 2, 77, 4, 62, 1) val treeMap = mutable.TreeMap(5 -> "asf1", 33 -> "asf2", 2 -> "asf3") //同步Synchronized的集合和映射 -> Synchronized包下的类 //初始化多采用工厂模式 ,会自动调用apply方法 //元组 -> 同第三章 }
/** * 有状态对象 * * 之前的章节都是描述函数化编程 ,使用了大量的val和递归 * 所有参数变量进出函数后和原参数已经无关 * 但在Java面向对象的编程方法中 ,常常会将一个对象一层一层穿过多个函数 ,状态随之改变 * * 本章其实是使用scala的var变量 ,书写有状态的对象 */
相关文章推荐
- Windows下Scala环境搭建
- Windows7下安装Scala 2.9.2教程
- play for scala 实现SessionFilter 过滤未登录用户跳转到登录页面
- Scala代码实现列出Hadoop 文件夹下面的所有文件
- ClassNotFoundException:scala.PreDef$
- sbt创建web项目
- XML 文件解析--含Unicode字符的XML文件
- Scala 学习随笔
- Scala 小程序记录(学习期间的代码片段)
- Spark机器学习(二) 局部向量 Local-- Data Types - MLlib
- Spark机器学习(三) Labeled point-- Data Types
- 分分钟掌握快速排序(Java / Scala 实现)
- Scala极速入门
- Spark初探
- Scala实现REST操作
- Scala method call syntax
- 关于Scala多重继承的菱形问题
- Scala 高阶函数(high-order function)剖析
- Scala Monad Design Pattern
- Scala类型系统——高级类类型(higher-kinded types)