SCALA中簡單操作符

2021-09-30 00:13:14 字數 1466 閱讀 8874

list集合

準備資料

var list1 = list(1,2,3)

var list2 = list(4,5,6)

:: 操作符 :會將::前的元素做為::後的元素中的第乙個元素進行儲存

println(list1 :: list2) //list(list(1, 2, 3), 4, 5, 6)

println(2 :: list1) //list(2, 1, 2, 3)

.::操作符:會將操作符後的元素會放在操作符前的元素的第乙個位置進行儲存

println(list1 .::(5)) //list(5, 1, 2, 3)

println(list1 .::("abc")) //list(abc,5, 1, 2, 3)

++操作符:會拼接操作符倆段的list集合,只能拼接相同型別

println(list1 ++ list2)   //list(1, 2, 3, 4, 5, 6)

println(list2 ++ list1)   //list(4, 5, 6, 1, 2, 3)

:::操作符:與++操作符相同,但是:::操作符只能用於連線list集合,不能連線array陣列

println(list1 ::: list2)  //list(1, 2, 3, 4, 5, 6)

array陣列

準備資料

var array = array(1,2,3)

var array1 = array(4,5,6)

:+ 或 +:操作符:拼接資料時,與:相連的是array陣列,與+相連的是容易型別的資料,如果連線符倆端都是array型別的資料,將會把與+相連的資料做為乙個資料存放到:後的陣列中的乙個位置中

println((array :+ 6).tobuffer) //arraybuffer(1, 2, 3, 6)

println((array :+ "abc").tobuffer) //arraybuffer(1, 2, 3, abc)

println((6 +: array).tobuffer) //arraybuffer(6, 1, 2, 3)

println(array.tobuffer +: array1.tobuffer) //arraybuffer(arraybuffer(1, 2, 3), 4, 5, 6)

println(array.tobuffer :+ array1.tobuffer) //arraybuffer(1, 2, 3, arraybuffer(4, 5, 6))

++操作符:將倆個陣列連線

println(array.tobuffer ++ array1.tobuffer)   //arraybuffer(1, 2, 3, 4, 5, 6)

println(array1.tobuffer ++ array.tobuffer)  //arraybuffer(4, 5, 6, 1, 2, 3)

scala 操作符 熟悉

如果想在變數名,類名等定義中使用關鍵字 比如val int,double 這樣的系統關鍵字 可以配合兩個反引號實現,引用時候也要帶引號 中置操作符 a 操作符 b 等價於 a 操作符 b 但 1 nil 等價於 nil.1 後置操作符 a 操作符 等同於 a.操作符,如果操作符定義的時候不帶 呼叫時...

scala學習筆記 操作符

中置操作符 二元操作符 操作符位於兩個引數之間。操作符包括字母,比如to,也可以包括操作符字元,比如1 10,等同於方法呼叫1.10 a 識別符號 b 其中的識別符號是乙個帶有兩個引數的方法 乙個隱式引數和乙個顯式引數 例如 1 to 10,實際上是乙個方法呼叫1.to 10 class fract...

scala操作符優先順序

關於scala操作符的優先順序等問題可以詳見這裡,本文直接去扒了scala反射中的toolbox裡面負責編譯的源 找到了其中和操作符相關的部分,記錄如下 對於操作符優先順序,有第乙個字元決定,數越大優先順序越高 def precedence operator name int if operator...