第三章:数组

在jvm中,scala的Array以java数组方式实现; Int, Double 或其他与java中基本类型对应的数组都是基本类型数组; 例如: Array(1,2,3) 在jvm中就是 int[] ;

=>在scala中, 数组分为定长数组 Array和变成数组 ArrayBuffer ;

变长数组

scala中的 ArrayBuffer 的数据结构等效与 java中的 ArrayList;

val  arr = ArrayBuffer[Int]()

=>需要导包   import  scala.collection.mutable.ArrayBuffer

=>可变数组和定长数组相互转化: toArray   与    toBuffer

for ( element <- arr ){ }

=>数组遍历有两种方式: 一种是基于下标进行遍历, 一种就类型java中的高级for循环;

=>对于数组来说,进行数据的移动是很消耗性能的,比如从一个整数的数组缓冲移除所有的负数,最好的方式就是采用 yield方式遍历 或者 使用filter/map 的方式, 就是生成新数组的方式, 要高效很多;

你可能感兴趣的:(第三章:数组)