scala数组基础语法
Day3
数组:
存放一系列元素的容器
1.分类:
不可变数组 定长数组 Array 可变数组 缓冲数组 数组缓存 ArrayBuffer (集合,Seq) ArrayBuffer位于scala.collection.mutable包下。
2.Array数组:
2.1定义方式:
1.通过类构建
eg:
val arr=new Array[T](size);
2.通过对象构建(统一对象构建原则)
eg:
val arr2=Array("hello","scala","java"); val arr3=Array.apply(1,2,3,4); val set=Set(1,2,34,5)
2.2 取值
arr(index) //本质上调用的arr.apply(index)这个方法 arr.take(num) arr.takeRight(num) arr.takeWhile(pf:T=>Boolean)
2.3 赋值
arr(index)=值 arr.update(index,值)
2.4 遍历数组
for(elem <- arr){...} for(index <- 0 until arr.length){...} arr.foreach(println)
2.5 获取数组的长度
arr.length arr.size
3.ArrayBuffer数组缓冲:
2.1定义方式
1.通过类构建
eg:
import scala.collection.mutable.ArrayBuffer val arrBuffer=new ArrayBuffer[T]();
2.通过对象构建(统一对象构建原则)
eg:
val aeeBuffer=AeeayBuffer(1,2,3)
2.2添加元素
+: ++ ++: +=: ++=: append appendAll insert insertAll
需要注意的是:
1. 当方法名中有一个+号时,指的是添加 一个个元素,返回一个新的集合/数组 2. 当方法名中有两个+号时,指的是添加 一个集合/数组容器,返回一个新的集合/数组 3. 当方法名中出现=号时,指的是会修改原集合。(只有可变集合才有包含=的方法) 4. 当方法名中没有=号时,不会修改原集合/数组,一般只会返回一个新的集合/数组
2.3移除元素
- -- -= --= remove(index) remove(index,count) drop(count) dropRight(count) dropWhile(pf:T=>Boolean)
2.4常见方法
take takeRight takeWhile count
算数集合:
sum product max min
排序:
sorted //按照集合类型默认排序规则进行排序(默认生序) sortBy //按照自定义指定规则进行排序 sortWith//自定义生序还是降序排列
遍历输出:
foreach
转换:
map filter val result=for(elem <- arr if elem %2==0)yield elem*2 val newArr=arr.filter(_%2==0).map(_*2) val newArr= arr.filter( (x:Int) => {x%2==0} ).map( (x:Int) => { x*2 } )
4.多维数组: 数组的数组
val arr2=new Array[Array[Int]](size); arr2(0)=Array(1,2,4) arr2(1)=Array(2,4,6,8) val arr3=Array.ofDim[Double](3,2,5,4)
相关推荐
匆匆那些年 2020-10-15
TheBigBlue 2020-07-28
shenwenjie 2020-07-07
muhongdi 2020-07-07
waitwolf 2020-07-08
yunfenglee 2020-07-08
yunfenglee 2020-07-08
kekeromer 2020-07-08
匆匆那些年 2020-07-07
liqinglin0 2020-07-05
TheBigBlue 2020-07-05
kekeromer 2020-06-13
zhixingheyitian 2020-06-08
TheBigBlue 2020-06-06
liqinglin0 2020-06-01
liqinglin0 2020-06-01
yunfenglee 2020-05-30
MICKEYSTUDY 2020-05-28
muhongdi 2020-05-19