scala--数组

scala–数组

​ scala的集合分为了两类,一类是可变的集合(集合可以执行增删改查操作),另一类是不可变集合(集合元素在初始化的时候确定,后续只能进行查,有的可以进行修改,有的不可以)。二者可能名称一样,但是在不同的包下面,对应的包为:scala.collection.mutable和scala.collection.immutable。

​ scala默认使用的集合,或者默认导入的包是immutable。

1. 不可变数组Array

​ Array可以理解为java中的数组。

  1. 数组的定义

    //创建数组
    //int[] a = new int[5];
    val arr = new Array[Boolean](3)
    for(a <- arr) {
        println(a)
    }
    println("-------------------")
    //叫做数组类Array的伴生对象的创建方式
    val arr1 = Array[Int](1, 2, 3, 4, 5) // int[] a = {1 , 2, 3, 4, 5}
    for(a <- arr1) {
        println(a)
    }
    
  2. 获取数组中的元素

    println("----------获取数组中的元素--------------")
    println("获取arr1中index为3的元素:" + arr1(3))
    arr1(3) = -3
    println("获取arr1中index为3的元素:" + arr1(3))
    
  3. 元素的遍历

    println("--普通的for--")
    for(a <- arr1) {
        println(a)
    }
    println("--foreach--")
    arr1.foreach(a => println(a))
    
  4. 数组的长度

    println("length: " + arr1.length)
    
      /** The length of the array */
      def length: Int = throw new Error()
    

2. 可变数组ArrayBuffer

​ ArrayBuffer就可以理解为java中的ArrayList。

  1. 定义

    //两种创建方式
    //普通的创建方式,创建一个初始化长度为3的Int类型的ArrayBuffer
    var ab = new ArrayBuffer[Int](3)
    //使用ArrayBuffer的伴生对象创建类型为Int的ArrayBuffer
    ab = ArrayBuffer[Int]()
    
  2. crud

    //追加元素---(尾部追加元素)append
    ab.append(1, 2, 3)
    println("ab: " + ab)
    //insert(index, 元素*)在指定的位置插入元素
    ab.insert(1, -2, -1)
    println("ab: " + ab)
    //修改
    ab(2) = 0
    println("ab: " + ab)
    //删除
    ab.remove(2)//删除下标对应的元素
    println("ab: " + ab)
    ab.remove(1, 2)
    println("ab: " + ab)
    ab.insert(1, -2, -1, 0, 1, 2)
    println("ab: " + ab)
    ab = ab.drop(2)//从首部开始删除N个元素,并返回一个新集合,原集合不变
    println("ab: " + ab)
    ab = ab.dropRight(2)//从尾部开始删除N个元素,并返回一个新集合,原集合不变
    println("ab: " + ab)
    
  3. 遍历和长度

    遍历和Array方式一样。

    长度可以使用length,也可以使用size。

3. Array和ArrayBuffer的一些基本通用操作

  1. 包含

    ab.contains(3)
    
  2. 数组求和

    ab.sum
    
  3. 数组的最大值最小值

    ab.max
    ab.min
    
  4. Array和ArrayBuffer之间的互相转换

    Array--->ArrayBuffer
    	array.toBuffer
    ArrayBuffer--->Array
    	ab.toArray
    
  5. 数组内容的显示

    //mkString的方法 将数组元素使用分隔符串成一个字符串
    println(ab.mkString(","))//分割符为,
    println(ab.mkString("[", ", ", "]"))//分割符为,起始结束符号分别为[, ]
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值