Scala學習 --------- 對映(map)
一個經典的程式設計師名言是:“如果只能有一種資料結構,那就用雜湊表吧。”,或者更籠統的說,對映--是最靈活多變的資料結構之一。
對映:就是鍵值對的集合
Scala提供兩種型別的對映:一類是值可以改變的對映,位於scala.collection.immutable.Map包,另一類是值不可以改變的對映,位於scala.collection.mutable.Map包。
4.2.1. 構建值可變對映
A、構造值可變對映
注意:-> 符號建立對偶
B、獲取和修改對映中的值
- 獲取對映中的值
- 更新對映中的值
- 新增資料
- 刪除資料
4.2.2. 構建值不可變對映
A、構造值不可變對映
- 獲取和修改對映中的值
a、+ 新增一個元素(本質是生成一個新的元素)
b、- 刪除一個元素(本質是生成一個新的元素)
4.2.3. 對比可變Map與不可變Map操作
a、構建兩個對映,一個可變,一個不可變。加一個元素,然後對比結果進行分析
不可變
可變
4.2.4. 迭代對映資料
相關推薦
Scala學習 --------- 對映(map)
一個經典的程式設計師名言是:“如果只能有一種資料結構,那就用雜湊表吧。”,或者更籠統的說,對映--是最靈活多變的資料結構之一。 對映:就是鍵值對的集合 Scala提供兩種型別的對映:一類是值可以改變的對映,位於scala.collection.immu
Scala學習筆記(五)—— 對映、元祖、集合
1. 對映 對映Java中的Map,即Key/Value的資料形式 對映的建立,有以下兩種方法 1 scala> val map =Map("Lisa" -> 90 , "Hellen" -> 89) 2 map: scala.collection.immutabl
Scala學習筆記(一)編程基礎
大數據 上一個 extends 移除 condition api arr 調用方法 tab 強烈推薦參考該課程:http://www.runoob.com/scala/scala-tutorial.html 1. Scala概述 1.1. 什麽是Scala Scala
Scala學習筆記(1)
ont arr oat rim import 經歷 變參 文件 變量類型 Scala的基礎語法 1、變量類型 AnyVal 共有9種: Byte、Short、Int、Long、Float、Double、Char、Boolean、Unit(void) AnyRef S
Scala學習筆記(2)——一口氣講完用Itellij(Maven)建工程並打包的事情
在進行本地Scala環境配置時,需要完成以下幾個步驟: 1、安裝JDK,目前僅支援1.8版本; 2、安裝Scala,並配置對應的環境變數; 3、安裝Spark,並配置對應的環境變數; 4、安裝Intellij,並下載對應的scala plugin。 詳細可見: https:/
scala學習筆記(1)——為什麼要學習scala
自從大資料、人工智慧、區塊鏈等概念一炒再炒,python無疑成為了最為熱門的語言,常年盤踞程式語言前三,與此同時,活躍的社群、便於入門的程式碼也使得python成為進入人工智慧、大資料領域的最佳語言選擇,但是筆者在大資料領域的一個最深切感受卻是:如果要在大資
Scala學習筆記(一):入門
變數定義 Scala有兩種變數,val和var。val類似於Java中的final變數,一旦初始化了,val就不能再被賦值。var可以多次賦值。但由於函數語言程式設計特性,Scala更推崇val。 var的使用也有其侷限性,Scala有型別推斷的功能,當var被初始化後,其型別就已經被斷定,比如 當m被
Scala學習筆記(二):類和物件
object object 是隻有一個例項的類。它的定義與Java中的class類似,如: // 單例物件 object AppEntry { def main(args: Array[String]): Unit = { print("Hello World!") } }
Scala學習筆記(三):==,eq與equals的區別
== Scala中==與java中不同,它是比較值是否相等的,無論比較物件是否是相同型別 List(1, 2, 3) == List(1, 2, 3) //true 1==1.0//true equals 同類型 與==作用相同,都是比較值是否相同 不同型別 返回false,如 1.equal
Scala學習筆記(四):apply方法說明
調用 我們 val sca 關鍵字 語法糖 方式 rgs 類型 當scala中類或者對象有一個主要用途的時候,apply方法就是一個很好地語法糖。請看下面一個簡單的例子: class Foo(foo: String) {} object Foo { def appl
Scala學習筆記(六):本地函式、頭等函式、佔位符和部分應用函式
本地函式 可以在方法內定義方法,這種方法叫本地函式,本地函式可以直接訪問父函式的引數 def parent(x: Int, y: Int): Unit ={ def child(y:Int) = y + 1 val z = child(y) println(s"x: $x, z
Scala學習筆記(1)—— Scala 介紹和安裝
1 Scala 介紹 Scala是一種多正規化的程式語言,其設計的初衷是要整合面向物件程式設計和函數語言程式設計的各種特性。Scala運行於Java平臺(Java虛擬機器),併兼容現有的Java程式。
Scala學習筆記(4)—— scala 練習
1 練習 1.1 建立一個List scala> val lst0 = List(1,7,9,8,0,3,5,4,6,2) lst0: List[Int] = List(1, 7, 9, 8, 0
Scala學習筆記(10)—— Akka 實現簡單 RPC 框架
1 Akka 介紹 目前大多數的分散式架構底層通訊都是通過RPC實現的,RPC框架非常多,比如前我們學過的Hadoop專案的RPC通訊框架,但是Hadoop在設計之初就是為了執行長達數小時的批量而設計的,在某些極端的情況下,任務提交的延遲很高,所有Hadoop的
Scala學習筆記(11)—— RPC 通訊框架
1 通訊業務邏輯 定義2個類 Master, Worker。首先啟動Master,然後啟動Worker Worker 啟動後,在 preStart 方法中與 Master 建立連線,向 Master 傳送註冊,將 Worker 的資訊通過 case class
Scala學習筆記(12)—— scala 高階特性
1 高階函式 Scala混合了面向物件和函式式的特性,通常將可以做為引數傳遞到方法中的表示式叫做函式。在函數語言程式設計語言中,函式是“頭等公民”,高階函式包含:作為值的函式、匿名函式、閉包、柯里化等等。 1.1 作為值的函式 可以像任何其他資料型別一樣被傳遞和
Scala學習筆記(13)——隱式轉換
1 泛型 [T <: UpperBound] [T >: LowerBound] [T <% ViewBound] [T : ContextBound] [+T] [-T] 1.1
Scala學習筆記(二)——Scala基礎
Scala基礎 1. 常用資料型別 Scala與Java有著相同的常用資料型別: Byte、Short、Int、Long、Float、Double、Chat、Boolean(只有包裝型別,無原始型別) 2. 宣告變數 //var 即vari
Scala學習筆記(二):控制結構和函式
2.1 條件表示式 2.1.1 Scala中if/else語法結構和java一樣,不同點在於此if表示式有值: val s=if (x>0) 1 else -1 //s的值要麼是1,要麼是-1,取決於X的範圍
Scala學習筆記(四)react/receive對比
這回繼續研究Actor的應用,我發現scala-lang裡關於Actor的Advance Example很有代表性,所以專門花時間研究一下這個例子,以下我經過我修正後的程式碼並且加入了一些關鍵的debug資訊,因為原始的版本無法在Scala2.8上執行: import sc