在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 的方式, 就是生成新数组的方式, 要高效很多;