一、ListBuffer、ArrayBuffer代碼實戰
import scala.collection.mutable.ListBuffer //可變的
val listBuffer = new ListBuffer[Int]
listBuffer += 1 //追加數據
listBuffer ++= List(2,3) //追加集合
println(listBuffer)
import scala.collection.mutable.ArrayBuffer //可變的
val arrayBuffer = new ArrayBuffer[Int]
arrayBuffer += 1 //追加數據
arrayBuffer += 2
println(arrayBuffer)
輸出:
ListBuffer(1, 2, 3)
ArrayBuffer(1, 2)
二、Queue、Stack代碼實戰
//7
import scala.collection.immutable.Queue //不可變
val empty = Queue[Int] ()
val queue1 = empty.enqueue(1) //追加一個元素後,變成了新的Queue,因爲這裏的Queue不可變
val queue2 = queue1.enqueue(List(2,3,4,5))
println(queue2)
val (element, left) = queue2.dequeue //把已有的Queue拆分成2部分,分別是第一個元素和由剩下的元素構成的Queue
println(element + " " + left)
println
//7
import scala.collection.mutable.Queue //可變的
val queue = Queue[String]()
queue += "a" //追加元素
queue ++= List("b","c") //追加列表
println(queue)
println(queue.dequeue) //返回整個Queue的第一個元素,並且把其刪除掉
println(queue)
println
//7
import scala.collection.mutable.Stack
val stack = new Stack[Int]()
stack.push(1)
stack.push(2)
stack.push(3)
println(stack.top) //返回棧頂元素
println(stack)
println(stack.pop) //返回棧頂元素,並彈出棧頂元素
println(stack)
輸出:
Queue(1, 2, 3, 4, 5)
1 Queue(2, 3, 4, 5)
Queue(a, b, c)
a
Queue(b, c)
3
Stack(3, 2, 1)
3
Stack(2, 1)
參考資料來源於大數據夢工廠 深入淺出scala 第39講 由王家林老師講解