一、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讲 由王家林老师讲解