Scala學習六:Scala中的特殊字符

Scala學習六:Scala中的特殊字符


Scala中的特殊字符使用說明:

object ScalaOperator {

    def main(args: Array[String]) {
        // ::: 三個冒號:2個集合合併
        println("------- [:::] ")
        val list1 = List(1, 2)
        val list2 = List(3, 4)

        val listCombine = list1 ::: list2
        listCombine.foreach(x => {
            println(x)
        })

        println("------- [::] ")
        // :: 2個 冒號 元素添加到集合中
        // 元素在前, 集合在後
        val d = 5 :: listCombine

        // => 方法體指標符
        d.foreach(x => {
            println(x)
        })

        // -> 構造一個二元的元組
        println("------- [->]")
        val one = 1
        val two = 2
        val c = one -> two
        println(c)

        // _N 用於訪問元組中的數據元素,座標從1開始
        println("------- [_N]")
        println("one = " + c._1)
        println("two = " + c._1)

        println("------- [<-] ")
        // <- 將集合中的元素 依次賦給臨時變量
        for (v <- listCombine) {
            println(" v = " + v)
        }

        println("------- arrBuf1 [result1]")
        //
        val arrBuf1 = new ArrayBuffer[Int]()
        arrBuf1.+=(11) // 添加一個元素
        arrBuf1.+=(33, 44) //添加多個元素
        arrBuf1.insert(1, 22) //在index=1,位置插入22
        arrBuf1 += 55 //添加一個元素
        arrBuf1.append(66) // 追回一個元素
        arrBuf1.prepend(77) // 在頭部追加一個元素
        arrBuf1.prepend(88) // 在頭部追加一個元素
        arrBuf1.prepend(99) // 在頭部追加一個元素
        for (elem <- arrBuf1) {
            println(elem)
        }
        println("------- arrBuf1 [result2] ")
        arrBuf1.remove(3, 2) // 從index=3開始,刪除2個元素
        for (elem <- arrBuf1) {
            println(elem)
        }

        println("------- arrBuf1 [result3] ")
        arrBuf1.trimEnd(2) // 刪除尾部2個元素
        for (elem <- arrBuf1) {
            println(elem)
        }

        val arrBuf3 = arrBuf1.+:(3) // 在首部增加一個元素,並返回一個新集合
        println("------- arrBuf3 [result] = ")
        arrBuf3.foreach(x => {
            println(x)
        })

        println("------- arrBuf2 [result]")
        // val arrBuf3 = 5 ++ arrBuf2
        val arrBuf2 = new ArrayBuffer[Int]()
        arrBuf2.+=(3)
        arrBuf2.+=(4)

        arrBuf2.foreach(x => {
            println(x)
        })

        println("------- arrBufCom [result]")
        // 將arrBuf2,arrBuf1所有元素都添加到新集合 arrBufCom 中,返回arrBufCom
        val arrBufCom = arrBuf1.++:(arrBuf2)
        arrBufCom.foreach(x => {
            println(x)
        })

        println("------- arrBuf1 [result4]")
        // 將arrBuf2中的所有元素,都增加到arrBuf1首部
        arrBuf1.++=:(arrBuf2)
        arrBuf1.foreach(x => {
            println(x)
        })

        // :_* 將集合元素當作 參數序列來處理,用在有變長參數列表的函數中
        println("------- seq:_* [result]")
        val seq = Seq(1, 2, 3, 4, 5)
        println(my_sum(seq: _*))
    }

    def my_sum(args: Int*): Int = {
        var result = 0
        for (a <- args) {
            result += a
        }
        return result
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章