Scala之Array数组

数组作为一种最常见的数据结构,想来大家已经熟悉,本篇主要介绍scala中Array的使用。
数组中的元素都是同一种数据类型。
数组在scala中也分为定长数组和变长数组。

1.定长数组

定长数组:即数组长度固定不变
实例:

 val array1 = new Array[Int](10) //初始元素都为0的长度为10的Int类型数组
 val array2 = new Array[String](10)  //初始化元素为null的长度为10的String类型数组

2.变长数组

变长数组:数组长度可以变化,在scala中为ArrayBuffer数据结构
实例:

 import scala.collection.mutable.ArrayBuffer
    val a = ArrayBuffer[Int]()
    a += 100  //在数组末加入数据
    a += (1,2,3,4)
    a ++= Array(1,2,3)
    println(a)

在这里插入图片描述
可变数组的一些基础操作:

  a.insert(1,1000)   //在索引为1的位置插入1000
  a.insert(2,3,4,5)  //在索引为2的位置插入345 结果为ArrayBuffer(100, 1, 3, 4, 5, 2, 3, 4, 1, 2, 3)
  a.trimEnd(3)  //删除数组末尾的3个元素 结果为ArrayBuffer(100, 1, 2, 3, 4)
  a.remove(1) //删除索引为1的元素 结果为ArrayBuffer(100, 2, 3, 4, 1, 2, 3)
  a.remove(0,3) //删除索引0后的三个元素 结果为ArrayBuffer(3, 4, 1, 2, 3)
  a.toArray  //将可变数组转为固长数组

数组的一些计算操作,比如求和,排序等~

    val b = Array(1,3,1,4,5,8,8)
    
    val res = for(x <- b) yield 2 * x  //将b中的元素循环取出乘以2后在存入新数组res

    for (x <- b if x % 2 != 0) yield  2 * x  //取出数组中的奇数乘以2

    scala.util.Sorting.quickSort(b)   //对定长数组快排

    val b_sum = b.sum  //数组元素求和

    val c = ArrayBuffer(5,6,88,8,8)

    val c_sorted = c.sorted  //对c数组进行排序  ArrayBuffer(5, 6, 8, 8, 88)
    println(c_sorted)

    val c_mkString = c.mkString(" and ")  //使用and连接元素 5 and 6 and 88 and 8 and 8
    println(c_mkString) 

3.多维数组

多维数组:和其他语言如java中定义类似,就是一个数组中的值可以是另一个数组,另一个数组的值也可以是一个数组
实例:

 val matrix = Array.ofDim[Double](3,4)  //使用Array方法ofDim构造34列的数组
 matrix(2)(1) = 11  //给第二行第一列的元素赋值
 val matrix2 = new Array[Array[Int]](10)  //构造一个有10个Int类型数组元素的数组
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值