zoukankan      html  css  js  c++  java
  • Spark 3000门徒第一课随笔

    昨晚听了王家林老师的Spark 3000门徒系列课程的第一课,把scala基础过了一遍,对ArrayBuffer有了新的认识:

    Array本身创建后不可修改
    ArrayBuffer可修改
    import scala.collection.mutable.ArrayBuffer
    val arrB = ArrayBuffer[int]()
    arrB += 10
    arrB += (11,12,13,5)
    arrB ++= Array(1,2,3,5)
    arrB.trimEnd(3) 从尾部截断3个
    arrB.trimStart(3) 从头部截断
    arrB.insert(5,100) 第五个位置增加数字100
    arrB.insert(7,9,2) 第七个位置增加一堆数字
    arrB.remove(10) 删掉第10个元素,返回值就是删除的值
    arrB.remove(10,3) 删掉第10个开始的3个元素
    val arr = arrB.toArray
    arrB2 = arr.toBuffer
    for(elem <- arr) println(elem)

    另外还有一个课后作业:移除一个数组中第一个负数后的所有负数

    下面是我的答案:

    import scala.util.control.Breaks._

    object ArrayRm {
    def main(args: Array[String]) : Unit = {
    val arr = rmFu(Array(1,-2,3,-4,-5,6,-7,8))
    for(i <- arr) println(i)
    }

    def rmFu(arr: Array[Int]) = {
    val arrayBuffer = arr.toBuffer
    var k = 0
    breakable {
    for(i <- arrayBuffer){
    if(i<0) {
    k
    break
    }
    k += 1
    }
    }
    println("k=" + k)

    for (i <- (0 until arrayBuffer.length).reverse) {
    if(i!=k && arrayBuffer(i)<0) arrayBuffer.remove(i)
    }
    arrayBuffer.toArray
    }
    }

  • 相关阅读:
    CentOS 7 安装java 环境
    CentOS 7 替换网易yum 源
    九度:题目1553:时钟
    Maximum Subarray
    职场细节
    poj2524 Ubiquitous Religions
    九度 1526:朋友圈
    程序载入
    设备管理
    操作系统系列
  • 原文地址:https://www.cnblogs.com/haitianS/p/5094457.html
Copyright © 2011-2022 走看看