scala語言學習01
阿新 • • 發佈:2020-10-11
scala語言學習
程式設計正規化:指令式程式設計(c++,java,c),函數語言程式設計
指令式程式設計:馮諾伊曼體系
函數語言程式設計:圖靈計算。lamada計算
資料計算量大,實時性要求高,cpu計算能力不斷提升
函數語言程式設計:發揮多核cpu多執行緒併發能力,變數不可更改
指令式程式設計:多執行緒之間的狀態共享,鎖機制進行併發控制
簡介
類似java的正規化語言
martin odersky開發
面向物件,函數語言程式設計兩個風格
執行在java虛擬機器上,相容java
併發行號,輕量級函式(lamada表示式)
容器與序列
特質(Trait):沒有被實現
foreach方法 容器遍歷,列表繼承容器
seq按0,1,2索引,map按鍵索引,set無序
序列容器從seq繼承(LinearSeq,IndexedSeq)
LinearSeq:取頭尾。。派生列表和佇列
IndexedSeq:無序。。派生vector,ArrayBuffer
輸入輸出
控制結構
陣列
元祖
列表
具體容器類
共享相同型別的不可變的物件序列
列表的值不可變
定義在包scala.collection.immutable下
初始化時就要複製
var slist=List(“a”,“b”)
掛結列表:var strlist=“s”::slist
向量
range
集合
雜湊方法
可變集,不可變集
不可變集+可變變數
可變變數指向不可變集
可變集+不可變變數
匯入scala.collection.immutable.Set
沒有改變變數本身,改變指標指向。。。。我嘗試的時候不可以
對映
預設不可變
可變:scala.collection.mutable
不可變:scala.collection.immutable
先呼叫contains方法,確定鍵是否存在