scala中的数组

1.定长数组

定义一个数组

scala> val a = new Array[String](5)
a: Array[String] = Array(null, null, null, null, null)

scala> val a = new Array[Int](5)
a: Array[Int] = Array(0, 0, 0, 0, 0)

scala> val a = new Array[Boolean](5)
a: Array[Boolean] = Array(false, false, false, false, false)

数组的长度
scala> a.length
res0: Int = 5

数组的赋值
scala> val a = new Array[String](5)
a: Array[String] = Array(null, null, null, null, null)

scala> a(1)="ruozedata"

scala> a
res3: Array[String] = Array(null, ruozedata, null, null, null)

定长数组的另一种写法

scala> val name = Array("若泽","J哥")
name: Array[String] = Array(若泽, J)

查看数组
scala> name(0)
res5: String = 若泽
scala> name(1)
res6: String = J哥

修改数组的值
scala> name(1)="J zong"
scala> name
res8: Array[String] = Array(若泽, J zong)

定长数组(定义了值和类型,不能修改)
scala> name(2)
java.lang.ArrayIndexOutOfBoundsException: 2
  ... 32 elided

scala> name(2)="spy"
java.lang.ArrayIndexOutOfBoundsException: 2
  ... 32 elided

求数组的最大值最小值求和等
scala> val a = Array(1,2,3,4,5,6,7,8,9)
a: Array[Int] = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)

scala> a.max
res11: Int = 9
scala> a.min
res12: Int = 1
scala>  a.sum
res15: Int = 45
scala> a.length
res16: Int = 9

2.数组的一些常用语法

拼接字符
scala> val a = Array(1,2,3,4,5,6,7,8,9)
a: Array[Int] = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)

scala> a.mkString("&")
res17: String = 1&2&3&4&5&6&7&8&9

scala> a.mkString("[","&","]")
res18: String = [1&2&3&4&5&6&7&8&9]

toString方法
scala> a.toString
res1: String = [I@5e403b4a

3.变长数组

首先要import scala.collection.mutable.ArrayBuffer

scala> import scala.collection.mutable.ArrayBuffer
import scala.collection.mutable.ArrayBuffer

scala> val c = ArrayBuffer[Int]()
c: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer()

变长数组的用法
scala> c +=1
res2: c.type = ArrayBuffer(1)

scala> c +=2
res3: c.type = ArrayBuffer(1, 2)

scala> c +=(3,4,5)
res4: c.type = ArrayBuffer(1, 2, 3, 4, 5)
 
注意:加一个数组要++
scala> c ++=Array(6,7,8)
res5: c.type = ArrayBuffer(1, 2, 3, 4, 5, 6, 7, 8)

变长数组中insert的用法
从第0个位置加个0
scala> c.insert(0,0)

scala> c
res10: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(0, 1, 2, 3, 4, 5, 6, 7, 8)

变长数组中remove的用法
scala> c
res10: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(0, 1, 2, 3, 4, 5, 6, 7, 8)

删除第一个位置上的值
scala> c.remove(1)
res13: Int = 1

scala> c
res14: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(0, 2, 3, 4, 5, 6, 7, 8)

scala> c.remove(0,3)

scala> c
res16: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(4, 5, 6, 7, 8)

变长数组中trimEnd , trimStart的用法
scala> c.trim
trimEnd   trimStart

scala> c
res16: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(4, 5, 6, 7, 8)

scala> c.trimEnd(2)

scala> c
res18: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(4, 5, 6)

scala> c.trimStart(2)

scala> c
res20: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(6)

4.变长数组转化为定长数组

scala> c
res20: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(6)

scala> c.toArray
res21: Array[Int] = Array(6)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值