大數據系列修煉-Scala課程39
核心內容:
1、ListBuffer、ArrayBuffer、Queue、Stack操作代碼實戰
1、ListBuffer、ArrayBuffer、Queue、Stack操作代碼實戰 |
1>ListBuffer、ArrayBuffer分別是List與Array的新版本,在ListBuffer、ArrayBuffer中可以對List與Array進行更加靈活、高效的操作;
Queue(對列)與Stack(堆)是兩種經典的數據結構。
2>用+=可以向集合當中添加具體的元素,用++=可以向集合當中添加具體的集合(List或Array)。
實例程序:
object App
{
//本節的重點是掌握ListBuffer、ArrayBuffer、Queue隊列、Stack堆的操作
def main(args:Array[String]):Unit=
{
import scala.collection.mutable.ListBuffer
val listBuffer = new ListBuffer[Int]() //需要指定集合的類型
listBuffer += 10
listBuffer ++= List(20,30,40)
val str1 = listBuffer.mkString("\t")
println(str1)//10 20 30 40
import scala.collection.mutable.ArrayBuffer
val arrayBuffer = new ArrayBuffer[Int]()
arrayBuffer += 10
arrayBuffer ++= Array(20,30,40)
val str2 = arrayBuffer.mkString("\t")
println(str2)//10 20 30 40
//隊列本身有可變的與不可變的,在這里僅測試可變的隊列
import scala.collection.mutable.Queue
val queue = Queue.apply[Int]() //隊列只能通過伴生對象創造實例對象
queue += 10
queue ++= List(20,30,40)
println(queue.mkString("\t")) //10 20 30 40
val ele1 = queue.dequeue() //從隊列當中返回1個元素
println(ele1) //10先進來的先出去
println(queue) //還剩Queue(20, 30, 40)
//測試堆Stack
import scala.collection.mutable.Stack
val stack = new Stack[Int]()
stack.push(10)
stack.push(20)
stack.push(30)
println(stack.mkString("\t"))//30 20 10
println(stack.top)//30 top僅查看,不彈出
println(stack)//Stack(30, 20, 10)
println(stack.pop())//30 pop既查看,又彈出
println(stack) //Stack(20, 10)
}
}