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]

  

原文地址:https://www.cnblogs.com/yxzfscg/p/5661592.html