Scala第三日

本文详细介绍了Scala中的数据结构,包括定长数组Array、可变长度的ArrayBuffer、数组、元组、映射、队列和栈、List以及Set集合。重点讨论了数组的创建、转换和元组的使用,强调了Scala中优先使用不可变集合的特点。
摘要由CSDN通过智能技术生成

数据结构

  • scala同时支持可变集合和不可变集合,两种集合分别存放在不同的包里面
    不可变集合: scala.collection.immutable
    可变集合: scala.collection.mutable
    Scala 优先采用不可变集合,集合主要分为三大类,序列、集合、映射。

定长数组Array

有三种创建方式,分别是new对象,直接赋值确定长度,调用隐式的apply方法

val ints = new Array[Int](5)
    val array1 = Array(1, 2, 3, "2", 216, 4)
    val res = array1(3)
    println(res)

在第二种方法中也就是 val array1 = Array(1, 2, 3, “2”, 216, 4),你如果想取到“2”这个元素,你不能仅仅拿到它的索引,直接输出。那样编译会通过,但是运行会出现数据转换异常,你需要对它进行强制转换

// println(ints.toList) 输出List(0, 0, 0, 0, 0)
    // array1(3).asInstanceOf[String] 强转方式 asInstanceOf
    val str = array1(3).asInstanceOf[String]
    println(str)

赋值操作和遍历操作

 //赋值操作
    array1(1) = 8888
    println(array1)  // array1.tostring 后正常显示
    //遍历
    //使用下标遍历
    for (i <- array1.indices){
       array1(i)
    }


    for (x <- array1){
      x
    }

    for (elem <- array1) {
      println(elem)
    }

可变长度的数组ArrayBuffer

ArrayBuffer
可变长度的数组 ArrayBuffer buffer2简写 //因为伴生对象帮我们new了

val buffer1 = new ArrayBuffer[Int]()
    val buffer2 = ArrayBuffer[Int]() //推荐使用
    println(buffer2.size)
    println(buffer1.length)
    // 元素的读写
    val i=buffer1(0)
    println(i) //因为
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值