Scala-数组、映射

1、数组
1)、创建数组
创建定长数组和长度可变数组

//创建定长数组,使用new关键字,指定数组泛型为Int,长度为5,默认会初始化这5个值为指定类型的默认值,比如Int的话则5个默认值都是0
//注意:如果new,相当于调用了数组的apply方法,直接为数组赋值
scala> val arr = new Array[Int](5)
arr: Array[Int] = Array(0, 0, 0, 0, 0)
//修改数组元素的值
scala> arr(0)
res16: Int = 0

scala> arr(0) = 1

scala> arr(1) = 2

scala> arr(2) = 3

scala> arr
res20: Array[Int] = Array(1, 2, 3, 0, 0)

//直接创建定长数组并且初始化元素
scala> val arr2 = Array(1,2,3,4,5)
arr2: Array[Int] = Array(1, 2, 3, 4, 5)

scala> arr2
res21: Array[Int] = Array(1, 2, 3, 4, 5)

//打印数组,默认是打印hashcode,使用toBuffer则会打印数组元素
scala> println(arr)
[I@6c06b1bc

scala> println(arr.toBuffer)
ArrayBuffer(1, 2, 3, 0, 0)

//注意以下因为有没有使用new的区别
scala> val a = Array[Int](10)
a: Array[Int] = Array(10)
a.length = 1
scala> val b = new Array[Int](10)
b: Array[Int] = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
a.length = 10

 

//创建变成数组(使用数组缓存ArrayBuffer)
scala> val ab = new ArrayBuffer[Int]()
//提示早不到ArrayBuffer类型,需要导包
<console>:7: error: not found: type ArrayBuffer
       val ab = new ArrayBuffer[Int]()
                    ^
//按制表符键会给出提示
scala> import scala.collection.mutable.Array
ArrayBuffer    ArrayBuilder   ArrayLike      ArrayOps       ArraySeq       ArrayStack

//导包完成
scala> import scala.collection.mutable.ArrayBuffer
import scala.collection.mutable.ArrayBuffer

//创建变长数组new ArrayBuffer[Int]()或者不需要new关键字
ArrayBuffer[Int](),既然是变长那么就不需要指定长度了
scala> val ab = new ArrayBuffer[Int]()
ab: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer()

//向数组中加入单个或多个元素 +=

scala> ab += 1
res24: ab.type = ArrayBuffer(1)

scala> ab += 2
res25: ab.type = ArrayBuffer(1, 2)

//加入多个元素
scala> ab += (3,4,5)
res26: ab.type = ArrayBuffer(1, 2, 3, 4, 5)

scala> ab
res27: scal
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值