1. 程式人生 > 實用技巧 >scala語言學習01

scala語言學習01

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方法,確定鍵是否存在

在這裡插入圖片描述