Scala 深入浅出实战经典 第39讲:ListBuffer、ArrayBuffer、Queue、Stack操作代码实战

王家林亲授《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

本视频由王家林老师, 亲自讲解, 完全通过代码实战把您带人大数据的时代.

 

 1 package com.parllay.scala.dataset
 2 
 3 /**
 4  * Created by richard on 15-7-23.
 5  */
 6 object ListBuffer_ListArray_Queue_Stack {
 7 
 8   def main(args: Array[String]) {
 9 
10     /**Scala 深入浅出实战经典 第39讲:ListBuffer、ArrayBuffer、Queue、Stack操作代码实战
11      * mutable集合是可变的, 在这里我们创建的是可变的listBuffer
12      * 并动态的给list赋值.
13      */
14     import scala.collection.mutable.ListBuffer
15     val listBuffer = new ListBuffer[Int]
16     listBuffer += 1
17     listBuffer += 10
18     println(listBuffer)//ListBuffer(1, 10)
19 
20     /**
21      * 在这里我们创建的是可变的ArrayBuffer
22      * 并动态的给arrayBuffer赋值.
23      */
24     import scala.collection.mutable.ArrayBuffer
25     val arrayBuffer = new ArrayBuffer[Int]()
26     arrayBuffer += 1
27     arrayBuffer += 1222222
28     println(arrayBuffer)//ArrayBuffer(1, 1222222)
29 
30     /**
31      * 在这里Queue是不可变的, queue1, queue2实际上是生成了新的对象,
32      * 追加值需要使用enqueue方法
33      *
34      */
35     import scala.collection.immutable.Queue
36     val empty = Queue[Int]()
37     val queue1 = empty.enqueue(1)
38     val queue2 = queue1.enqueue(List(2,3,4,5))
39     println(queue2)
40 
41     /**
42      * dequeue方法的执行结果是把原来的queue分拆成两部分,
43      * 一部分是会第一个元素,另外一部分是剩下的元素组成的新的queue.
44      */
45     val (element, left) = queue2.dequeue
46     println(element + ":" + left)
47 
48 
49     /**
50      * 队列是先进先出
51      * 下面这个是可变的Queue, 和上面的不可变的Queue进行比较发现
52      * 在这里我们用同样的常量queue就可以动态的增加队列的大小.
53      */
54     val queue = scala.collection.mutable.Queue[String]()
55     queue += "a"
56     queue ++= List("hello", "Spark")
57     println(queue)
58     println(queue.dequeue)//把队列的第一个元素删除
59     println(queue)//这时候的队列长度会变小
60 
61     /**
62      * 可变的stack, 先进后出
63      */
64     import scala.collection.mutable.Stack
65     val stack = new Stack[Int]
66     stack.push(1)
67     stack.push(2)
68     stack.push(3)
69     println(stack.pop)
70     println(stack)
71     println(stack.pop)
72     println(stack)
73 
74     /**
75      * ListBuffer(1, 10)
76       ArrayBuffer(1, 1222222)
77       Queue(1, 2, 3, 4, 5)
78       1:Queue(2, 3, 4, 5)
79       Disconnected from the target VM, address: '127.0.0.1:46928', transport: 'socket'
80       Queue(a, hello, Spark)
81       Queue(hello, Spark)
82       Stack(2, 1)
83       Stack(1)
84      */
85 
86 
87 
88 
89   }
90 
91 }
View Code

 

posted @ 2015-07-24 19:29  曹振华  阅读(942)  评论(0编辑  收藏  举报