scala學習筆記 Map與Tuple(10)

2021-08-30 15:11:05 字數 1985 閱讀 6223

建立map

1 // 建立乙個不可變的map

2 val ages = map("leo" -> 30, "jen" -> 25, "jack" -> 23)

3 ages("leo") = 31

4 // 建立乙個可變的map

5 val ages = scala.collection.mutable.map("leo" -> 30, "jen" -> 25, "jack" -> 23)

6 ages("leo") = 31

7 // 使用另外一種方式定義map元素

8 val ages = map(("leo", 30), ("jen", 25), ("jack", 23))

9 // 建立乙個空的hashmap

10 val ages = new scala.collection.mutable.hashmap[string, int]

訪問map的元素

1 // 獲取指定key對應的value,如果key不存在,會報錯

2 val leoage = ages("leo")

3 val leoage = ages("leo")

4 5 // 使用contains函式檢查key是否存在

6 val leoage = if (ages.contains("leo")) ages("leo") else 0

7 8 // getorelse函式

9 val leoage = ages.getorelse("leo", 0)

修改map的元素

1 // 更新map的元素

2 ages("leo") = 31

3 // 增加多個元素

4 ages += ("mike" -> 35, "tom" -> 40)

5 // 移除元素

6 ages -= "mike"

7 // 更新不可變的map

8 val ages2 = ages + ("mike" -> 36, "tom" -> 40)

9 // 移除不可變map的元素

10 val ages3 = ages - "tom"

遍歷map

1 // 遍歷map的entryset

2 for ((key, value)

3 // 遍歷map的key

4 for (key

5 // 遍歷map的value

6 for (value

7 // 生成新map,反轉key和value

8 for ((key, value)

sortedmap和linkedhashmap

1 // sortedmap可以自動對map的key的排序

2 val ages = scala.collection.immutable.sortedmap("leo" -> 30, "alice" -> 15, "jen" -> 25)

3 4 // linkedhashmap可以記住插入entry的順序

5 val ages = new scala.collection.mutable.linkedhashmap[string, int]

6 ages("leo") = 30

7 ages("alice") = 15

8 ages("jen") = 25

map的元素型別—tuple

1 // 簡單tuple

2 val t = ("leo", 30)

3 4 // 訪問tuple

5 t._1

6 7 // zip操作

8 val names = array("leo", "jack", "mike")

9 val ages = array(30, 24, 26)

10 val nameages = names.zip(ages)

11 for ((name, age)

Scala學習筆記

scala學習筆記 一.scala中集合的常用方法 首先定義兩個陣列集合,用於測試 scala val arr1 array 1,2,3,4 arr1 array int array 1,2,3,4 scala val arr2 array 3,4,5,6 arr2 array int array ...

Scala學習筆記

1 閉包 var a 3 var addfun x int x a var b addfun 10 println b addfun 就是個和物件無關的函式,區域性變數,使用方法和函式一樣,但是好像不推薦這種寫法。2 類的建立,簡單使用abstract class bparent 構造函式引數會自動...

Scala 學習筆記

object a val u fab 15,list 1,1 val f p int print p t 變長引數 def sum nums int int int def main args array string unit def f p int int print f 4 object ab...