1.数组操作
1.定长数组:val nums = new Array[Int](10)
val s=Array("tom","lisi")
*在jvm中,Scala的Array以java数组的方式实现。
2.变长数组(数组缓冲):ArrayBuffer
val b=ArrayBuffer[Int]()
1.基本操作:
1.在尾部添加元素 b+=1
2.在尾部添加多个元素 b+=(2,3,4)
3.在尾部添加集合 b++=Array(2,5,6)
4.在指定位置插入元素 b.insert(2,4,5,6) //在坐标为2的位置添加4,5,6
5.移除指定位置的元素 b.remove(2) //移除坐标为2的元素
6.移除指定位置后的若干元素 b.remove(2,4) //移除从坐标为2开始的4个元素
7.移除末尾的若干元素 b.trimEnd(4) //移除末尾的4个元素
2.数组的遍历
1.for(i <- 0 until 数组.length) println(数组(i))
for(i <- 0 until (数组.length,步长)) println(数组(i))
for(i <- 0 until (数组.length,步长) reverse) println(数组(i))
2.for(元素 <- 数组) println(元素)
3.数组转换
1.for推导式:for(元素 <- 数组) yield 对元素的处理 //返回元素处理后的数组
2.守卫(for中的if实现):for(元素 <- 数组 if 元素满足的条件) yield 对满足条件的元素的处理 //返回对满足条件的元素处理后的数组
*可以通过 数组.filter(_%2==2).map(3*_) //_代表元素,返回对满足条件的元素处理后的数组
4.常用算法
1.数组.sum //求和
2.数组.max //求最大值或最长的值
3.数组.sorted(_>_) 降序 数组.sorted(_<_) 升序 //返回经过排序后的数组或数组缓冲
4.scala.util.Sorting.quickSort(数组) //只能是数组不能是数组缓冲,对原数组直接排序
5.数组.mkString(连接符) //将数组中的元素通过指定的连接符连接成一个字符串
6.数组.mkString(前缀,连接符,后缀) //返回带有前后缀的通过连接符连接成的字符串
5.多维数组
val m=Array.ofDim[Int](3,4) //创建一个3行4列的二维数组
val t=new Array[Array[Int]](10) //创建一个10行的数组
数组(行)(列)
6.ArrayBuffer和java中的list相关转换