您的位置:首页 > 其它

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变量 ,书写有状态的对象
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  scala