zoukankan      html  css  js  c++  java
  • Scala 数组操作之Array、ArrayBuffer以及遍历数组

    ArrayBuffer

    Scala中,如果需要类似于Java中的ArrayList这种长度可变的集合类,则可以使用ArrayBuffer

    // 如果不想每次都使用全限定名,则可以预先导入ArrayBuffer

    import scala.collection.mutable.ArrayBuffer

    // 使用ArrayBuffer()的方式可以创建一个空的ArrayBuffer

    val b = ArrayBuffer[Int]()

    // 使用+=操作符,可以添加一个元素,或者多个元素

    // 这个语法必须要谨记在心!因为spark源码里大量使用了这种集合操作语法!

    b += 1

    b += (2, 3, 4, 5)

    // 使用++=操作符,可以添加其他集合中的所有元素

    b ++= Array(6, 7, 8, 9, 10)

    // 使用trimEnd()函数,可以从尾部截断指定个数的元素

    b.trimEnd(5)

    // 使用insert()函数可以在指定位置插入元素

    // 但是这种操作效率很低,因为需要移动指定位置后的所有元素

    b.insert(5, 6)

    b.insert(6, 7, 8, 9, 10)

    // 使用remove()函数可以移除指定位置的元素

    b.remove(1)

    b.remove(1, 3)

    // ArrayArrayBuffer可以互相进行转换

    b.toArray

    a.toBuffer

    遍历ArrayArrayBuffer

    // 使用for循环和until遍历Array / ArrayBuffer

    // 使untilRichInt提供的函数

    for (i <- 0 until b.length)

      println(b(i))

    // 跳跃遍历Array / ArrayBuffer

    for(i <- 0 until (b.length, 2))

      println(b(i))

    // 从尾部遍历Array / ArrayBuffer

    for(i <- (0 until b.length).reverse)

      println(b(i))

    // 使用“增强for循环”遍历Array / ArrayBuffer

    for (e <- b)

      println(e)

    数组常见操作

    // 数组元素求和

    val a = Array(1, 2, 3, 4, 5)

    val sum = a.sum

    // 获取数组最大值

    val max = a.max

    // 对数组进行排序

    scala.util.Sorting.quickSort(a)

    // 获取数组中所有元素内容

    a.mkString

    a.mkString(", ")

    a.mkString("<", ",", ">")

    // toString函数

    a.toString

    b.toString

  • 相关阅读:
    Smartform中表(table)的行间距设置
    ◆◆0Smartform中如何设置背景阴影色(Shading)
    ◆◆0如何在Smartforms中设置左右对齐
    如何在smartform中设置行间距
    ◆◆0如何在smartform中的table节点插入分页
    ◆◆0如何翻译smartform中的Text module
    如何在smartforms中插入复选框(checkbox)
    ◆◆0选择屏幕-SELECTION-SCREEN(一)
    科研呢喃-2
    遇到杠精,浪费时间
  • 原文地址:https://www.cnblogs.com/YuanWeiBlogger/p/11432335.html
Copyright © 2011-2022 走看看