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

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

 

Scala 深入浅出实战经典 第39讲:ListBuffer、ArrayBuffer、Queue、Stack操作代码实战
 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

 

你可能感兴趣的:(buffer)