2.Scala数组

package scala

object ArrayTest {
  def main(args: Array[String]): Unit = {
    //1.定长数组Array
    //一种定长数组定义方式
    //复杂对象类型在数组定义时被初始化为null,数值型被初始化为0
    val numArr = new Array[Int](5)
    val strArr = new Array[String](5)
    //数组赋值
    strArr(0) = "First"
    // 另一种定长数组定义方式
    val strArr2 = Array("First","Second")
    
    //2.变长数组ArrayBuffer
    import scala.collection.mutable.ArrayBuffer
    val strArrVar = ArrayBuffer[String]()
    strArrVar += "Hello" //在尾部添加元素
    strArrVar += ("World","Yes!") //在尾部添加多个元素
    //++=用于向数组中追加内容,可以追加任何集合
    //追加Array数组
    strArrVar ++= Array("Wllcome","To","XueTuWuYou")
    //追加Array数组
    strArrVar ++= List("Welcome","To","School")
    //删除末尾n个元素
    strArrVar.trimEnd(3)
    //创建整型数组缓冲
    var intArrVar = ArrayBuffer(1,1,2,3)
    //在数组index=0位置插入元素6
    intArrVar.insert(0, 6)
    //在数组index=0位置插入元素7,8,9
    intArrVar.insert(0,7,8,9)
    //从index=0开始,删除4个元素
    intArrVar.remove(0,4)
    //转成定长数组
    var intArr = intArrVar.toArray
    
    //3.数组的遍历
    //to
    for(i <- 0 to intArrVar.length - 1) println(intArrVar(i))
    //until
    for(i <- 0 until intArrVar.length) println(intArrVar(i))
    //数组方式
    for(i <- intArrVar) println(i)
    //步长为2
    for(i <- 0 until (intArrVar.length,2)) println(intArrVar(i))
    //倒序
    for(i <- (0 until intArrVar.length)) println(intArrVar(i))
    
    //4.数组转换
    //缓冲数据转化后产生的仍然是缓冲数组
    var intArrVar2 = for(i <- intArrVar) yield i * 2
    //定长数组转换后产生的仍然是定长数组,原数组不变
    var intArrNoBuff = Array(1,2,3)
    var intArrNoBuff2 = for(i <- intArrNoBuff) yield i * 2
    //加过滤条件
    var intArrNoBuff3 = for(i <- intArrNoBuff if i >= 2) yield i * 2
    
    //5.数组操作中的常用算法
    val intArray = Array(1,2,3,4,5,6,7)
    println("sum:"+intArray.sum+" ,max:"+intArray.max)
    println("mkString:"+intArray.mkString("-"))
    println("mkString:"+intArray.mkString("<","-",">"))
    
    //6.多维数组
    var mulArr = Array(Array(1,2,3),Array(4,5))
    println(mulArr(0)(1))
    
  }
}

参考自:https://blog.csdn.net/column/details/scalalearning.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值