您的位置:首页 > 产品设计 > UI/UE

scala学习之:ListBuffer、ArrayBuffer、Queue、Stack的操作代码实战

2015-08-18 21:48 309 查看
1、ListBuffer : 可以对List进行更灵活高效的操作
代码示例: 输出:
import scala.collection.mutable.ListBuffer //可变的ListBuffer

val listBuffer = new ListBuffer[Int]
listBuffer += 1
listBuffer += 2
println(listBuffer) //输出:ListBuffer(1, 2)

2、ArrayBuffer:
代码示例:输出:
import scala.collection.mutable.ArrayBuffer //可变的ArrayBuffer

val arrBuffer = new ArrayBuffer[Int]()
arrBuffer += 1
arrBuffer += 2
println(arrBuffer) //输出:ArrayBuffer(1,2)

3、Queue:先进先出
代码示例:
val empty = Queue[Int]()

val queue1 = empty.enqueue(1)
val queue2 = queue1.enqueue(List(2,3,4,5))
println(queue2) //输出:Queue(1, 2, 3, 4, 5)
val(element,left) = queue2.dequeue
println(element + " : " + left) //输出: 1 : Queue(2, 3, 4, 5)

import scala.collection.mutable.Queue
val queue = Queue[String]()
queue +="a"
queue ++= List("b","c")
println(queue) //输出:Queue(a, b, c)
println(queue.dequeue) //输出:a
println(queue) //输出:Queue(b, c)

4、Stack:后进先出

代码示例:

import scala.collection.mutable.Stack
val stack = new Stack[Int]

stack.push(1)

stack.push(2)

stack.push(3)

println(stack.top) //输出:3 符合后进先出

println(stack) //输出:Stack(3,2,1)

println(stack.pop) //输出:3

println(stack) //输出:Stack(2,1)

5、Set、Map操作实践 、TreeSet、TreeMap操作代码实践
val data = scala.collection.mutable.Set.empty[Int]

data ++= List(1,2,3)

data += 4

println(data)

data --= List(2,3)

println(data)

data +=1

println(data)

data.clear

println(data)

val map = scala.collection.mutable.Map.empty[String,String]

map("Java") = "Hadoop"

map("Scala")= "Spark"

println(map)

println(map("Scala"))

val treeSet = TreeSet(9,3,1,8,0,2,7,4,6,5)

println(treeSet)

val treeSetForChar = TreeSet("Spark","Scala","Hadoop")

println(treeSetForChar)

var treeMap = TreeMap("Scala" -> "Spark", "Java" -> "Hadoop")

println(treeMap)

以上内容是从王家林老师DT大数据课程第39/40讲的学习笔记。

DT大数据微信公众账号:DT_Spark
王家林老师QQ:1740415547
王家林老师微信号:18610086859

百度云盘地址:http://pan.baidu.com/s/1ntDZ501

优酷播放地址:http://v.youku.com/v_show/id_XMTI3NTk4NjMyNA==.html

51cto的播放地址:http://edu.51cto.com/lesson/id-66863.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: