zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    python上传阿里云oss
    python调用百度图片识别api
    python实现sm2和sm4国密(国家商用密码)算法
    python坐标获取经纬度或经纬度获取坐标免费模块--geopy
    剑指 Offer 36. 二叉搜索树与双向链表
    vs code中终端中的命令不能使用的解决方法
    VS Code切换默认终端(cmd、powershell)
    剑指 Offer 35. 复杂链表的复制
    剑指 Offer 33. 二叉搜索树的后序遍历序列
    剑指 Offer 32
  • 原文地址:https://www.cnblogs.com/czh-liyu/p/4674367.html
Copyright © 2011-2022 走看看