Scala的Array

Scala的Array表示长度不可变的数组,若需要定义可变数组需要倒包

import scala.collection.mutable.ArrayBuffer

下面是关于Array的一些用法:

package test29

import scala.collection.mutable.ArrayBuffer

object Test29 {
  // 不可变数组 Array
//  def main(args: Array[String]): Unit = {
    // 1.创建不可变数组
//    val arr1 = Array(1,2,3)

    // 2.访问. 数组名(下标)。下标是从 0 开始到 长度-1
//    println(s"第一个元素是${arr1(0)}")
    // 如果下标超出了范围,会 报错 ArrayIndexOutOfBoundsException
//    println(arr1(100))

    // 3.快速填充数组内容
    // 1-10的数组,每隔2个 range 不包括终点,2 是步长
//    val arr2 = Array.range(1,11,2)

    // 4.遍历
//    for (i <-arr2){
//      println(i)
//    }
//  }

    // 可变数组
    def main(args: Array[String]): Unit = {
      val arr1 = ArrayBuffer(1,2,3)
      // 1.添加
      arr1 += 4
      // 2.删除
      arr1 -= 1
      // 3.修改.数组名(下标) = 新值
      arr1(0) = 1000

      // 4.查询:判断是否有某个元素
      println(s"30是否在数组中:${arr1.contains(30)}")

      // map方法
      val arr2 = arr1.map(s => s*2)
      // filter 过滤。从当前数组中,找出需要的元素,组成一个新的数组
      // 找到大于100的元素
      val arr3 = arr2.filter(s => s > 100)

      // 数组的元素的个数:
      println(s"数组的元素个数是:${arr3.length}")

      // indexOf:  // 找到第一个元素的下标
      // 没有,就返回 -1
      // 有,就返回第一次出现的下标
      println(arr3.indexOf(400))

      // 数组的切片。从一个数组中取出相邻的元素组成一个新的数组
//      ArrayBuffer(1,2,3,4,5),取出3,4 组成一个新的数组
      // slice(起点下标,终点下标) // 不包括终点下标!!!
//      val arr4 = ArrayBuffer(1,2,3,4,5).slice(2,4)
      val arr4 = ArrayBuffer(1,2,3,4,5).slice(1,5) // 2 3 4 5

      val it1 = arr4.iterator
      while (it1.hasNext){
        println(it1.next())
      }
    }
}

你可能感兴趣的:(scala,开发语言,后端)