王家林亲授《DT大数据梦工厂》大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频、PPT、代码下载:
百度云盘:http://pan.baidu.com/s/1c0noOt6
腾讯微云:http://url.cn/TnGbdC
360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2
技术爱好者尤其是大数据爱好者 可以加DT大数据梦工厂的qq群
DT大数据梦工厂① :462923555
DT大数据梦工厂②:437123764
DT大数据梦工厂③ :418110145
本视频由王家林老师, 亲自讲解, 完全通过代码实战把您带人大数据的时代.
package com.parllay.scala.dataset /**
* Created by richard on 15-7-23.
*/
object ListBuffer_ListArray_Queue_Stack { def main(args: Array[String]) { /**Scala 深入浅出实战经典 第39讲:ListBuffer、ArrayBuffer、Queue、Stack操作代码实战
* mutable集合是可变的, 在这里我们创建的是可变的listBuffer
* 并动态的给list赋值.
*/
import scala.collection.mutable.ListBuffer
val listBuffer = new ListBuffer[Int]
listBuffer += 1
listBuffer += 10
println(listBuffer)//ListBuffer(1, 10) /**
* 在这里我们创建的是可变的ArrayBuffer
* 并动态的给arrayBuffer赋值.
*/
import scala.collection.mutable.ArrayBuffer
val arrayBuffer = new ArrayBuffer[Int]()
arrayBuffer += 1
arrayBuffer += 1222222
println(arrayBuffer)//ArrayBuffer(1, 1222222) /**
* 在这里Queue是不可变的, queue1, queue2实际上是生成了新的对象,
* 追加值需要使用enqueue方法
*
*/
import scala.collection.immutable.Queue
val empty = Queue[Int]()
val queue1 = empty.enqueue(1)
val queue2 = queue1.enqueue(List(2,3,4,5))
println(queue2) /**
* dequeue方法的执行结果是把原来的queue分拆成两部分,
* 一部分是会第一个元素,另外一部分是剩下的元素组成的新的queue.
*/
val (element, left) = queue2.dequeue
println(element + ":" + left) /**
* 队列是先进先出
* 下面这个是可变的Queue, 和上面的不可变的Queue进行比较发现
* 在这里我们用同样的常量queue就可以动态的增加队列的大小.
*/
val queue = scala.collection.mutable.Queue[String]()
queue += "a"
queue ++= List("hello", "Spark")
println(queue)
println(queue.dequeue)//把队列的第一个元素删除
println(queue)//这时候的队列长度会变小 /**
* 可变的stack, 先进后出
*/
import scala.collection.mutable.Stack
val stack = new Stack[Int]
stack.push(1)
stack.push(2)
stack.push(3)
println(stack.pop)
println(stack)
println(stack.pop)
println(stack) /**
* ListBuffer(1, 10)
ArrayBuffer(1, 1222222)
Queue(1, 2, 3, 4, 5)
1:Queue(2, 3, 4, 5)
Disconnected from the target VM, address: '127.0.0.1:46928', transport: 'socket'
Queue(a, hello, Spark)
Queue(hello, Spark)
Stack(2, 1)
Stack(1)
*/ } }