Scala学习整理[第十七-十八章 集合和有状态对象]<Programming In Scala>

这两章内容之前有所提到 ,因此不再赘述

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变量 ,书写有状态的对象
  */
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值