亲宝软件园·资讯

展开

Scala 学习(10)之「集合 」

0的幂方 人气:4

数组

定长数组

Array:采用()访问,而不是[],下标从 0 开始。

val array1 = new Array[String](5)       //创建数组
println(array1)     //返回数组的hashcode
array1.length       //Int = 5
array1(1) = "0mifang"   //为指定的index位置的元素进行赋值

val array2 = Array("11","22","33")      //不用new,直接将值写在数组中
array2(1)       //取出index为1的值,String = 22
array2(1) = "dd"        //修改数组中的元素

变长数组

ArrayBuffer:常用操作:+= / ++= / insert / remove / toArray / sum / max / reverse

val arrayBuffer1 = scala.collection.mutable.ArrayBuffer[String]()   //创建变长数组
arrayBuffer1 += "a" //添加一个元素
arrayBuffer1 += ("b","c","d")   //添加多个元素
arrayBuffer1 ++= Array("e","f","g")     //添加一个现有的数组
arrayBuffer1.insert(0, 0)       //在指定的位置插入指定的数据,但这种方式效率低,因为需要移动所插入位置后面的所有元素
arrayBuffer1.remove(1)      //删除指定位置的数据
arrayBuffer1.remove(1, 2)       //删除范围数据,从指定位置开始删除几个数据;第下标为 1 的元素开始,删除 2 个
arrayBuffer1.trimEnd(2)     //从尾部截断指定个数的元素;移除最后两个
arrayBuffer1.toArray            //转换为定长数组
arrayBuffer1.toBuffer           //转换为变长数组
scala.util.Sorting.quickSort(arrayBuffer1)      //对数组进行排序
arrayBuffer1.mkString       //获取数组中的所有元素内容
arrayBuffer1.mkString(", ") //将数组中的元素按照 ", " 拼接起来
arrayBuffer1.mkString("<", ", ", ">")   //将数组中的元素按照 ", " 拼接起来,并且用 “<”,“>” 包起来
arrayBuffer1.toString

转换数组

yield

使用 yield 关键字可以将结果拼接成数组返回

val array1 = Array(1, 2, 3, 4, 5)
val array2 = for (ele <- a) yield ele * ele

函数式编程

array1.filter(_ % 2 == 0).map(2 * _)        //这种方式比较常见
array1.filter { _ % 2 == 0 } map { 2 * _ }

遍历数组

// 使用 for 循环和 until 遍历
for (i <- 0 until array1.length)
println(array1(i))

// 跳跃遍历

。。。

欢迎 follow 供种耗「0的幂方」

加载全部内容

相关教程
猜你喜欢
用户评论