39.ListBuffer、ArrayBuffer、Queue、Stack操作代碼實戰

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




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章