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
代码示例: 输出:
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
相关文章推荐
- Android UI设计的三种常见布局(LinearLayout、RelativeLayout、FrameLayout)
- hdu 5400 Arithmetic Sequence(水题一道)
- POJ1776 Task Sequences
- hdu 1159 Common Subsequence
- required string parameter XXX is not present
- required string parameter XXX is not present
- required string parameter XXX is not present
- Result Maps collection already contains value for **
- Codeforces Gym 100650D Queens, Knights and Pawns 暴力
- UVA11235 Frequent values
- Test run failed: Instrumentation run failed due to 'Process crashed.'解析
- UITableView
- Android 消息处理机制-Looper,Handler,MessageQueue
- UIBarButtonItem 小记边
- UI总结之获取各种路径1
- 【HDOJ 5400】Arithmetic Sequence
- Codeforces Gym 100650D Queens, Knights and Pawns 暴力
- HDOJ 1047 Integer Inquiry (多个大数求和)
- N-Queens N皇后问题 DFS
- hdu 5400 Arithmetic Sequence(模拟)