scala学习笔记(9): 语法续
1 不定长参数
def sum(args: Int*) = {
var result = 0
for ( arg <- args) result += arg
result
}
2 数组初始化
val nums = new Array[Int](10)
nums: Array[Int] = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
val nums1 = Array(1, 2, 4)
nums1: Array[Int] = Array(1, 2, 4)
3 变长数组
import scala.collection.mutable.ArrayBuffer
val b = new ArrayBuffer[Int]()
//b: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer()
b += 1
// 添加元素到末尾
res9: b.type = ArrayBuffer(1)
b += (2, 3, 4)
// 添加多个元素用括号
res10: b.type = ArrayBuffer(1, 2, 3, 4)
val a = 5 to 10
a: scala.collection.immutable.Range.Inclusive = Range(5, 6, 7, 8, 9, 10)
b ++= a
// 添加其他类型
res11: b.type = ArrayBuffer(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
4 应用于Array、ArrayBuffer的算法
scala> val a = Array(1, 7, 2, 4, 5) //a: Array[Int] = Array(1, 7, 2, 4, 5) scala> a.sorted //res18: Array[Int] = Array(1, 2, 4, 5, 7) scala> a.sortWith(_ < _) //res19: Array[Int] = Array(1, 2, 4, 5, 7) scala> a.sortWith(_ > _) //res20: Array[Int] = Array(7, 5, 4, 2, 1)
5 数组的mkString
scala> val a = Array(1, 7, 2, 4, 5)
//a: Array[Int] = Array(1, 7, 2, 4, 5)
scala> a.mkString(" and ")
//res21: String = 1 and 7 and 2 and 4 and 5
scala> a.mkString("[", ",", "]")
//res22: String = [1,7,2,4,5]
浙公网安备 33010602011771号