Scala 對映和元組

2021-08-14 15:34:57 字數 2520 閱讀 1435

val scores = map("jim"->10, ("tom",20), "sam"->44) //

key->value, (key,value)兩種方式表示, 不可變對映,

val s = scala.collection.mutable.map("jim"->10, ("tom",20), "sam"->44)//

可變對映

val s1 = new scala.collection.mutable.hashmap[string, int] //

空的map

//scores.+=(("lily"->10)) //不可變對映,map中不能新增元素

s.+=(("lily"->10))

s1.+=(("jim"->10))

println(scores)

println(s)

println(s1)

結果:

map(jim -> 10, tom -> 20, sam -> 44)

map(jim -> 10, tom -> 20, lily -> 10, sam -> 44)

map(jim -> 10)

對偶

"a"->1

("a",1)

val scores = map("jim"->10, ("tom",20), "sam"->44)

val score1 = scores("lily") //

直接通過()獲取裡面的值

val score2 = if(scores.contains("lily")) scores("lily") else 0 //

判斷是否存在,然後再取值

val score3 = scores.getorelse("lily",0) //

通過getorelse方法實現,不存在給預設值

println(score1)//沒有值,會報異常

println(score2)

println(score3)

可變對映

val scores = scala.collection.mutable.map("jim"->10, ("tom",20), "sam"->44)

scores("jim") = 11 //

更新值 scores("fred") = 33 //

新增值scores += ("lily"->30, "li"-> 27) //

增加多個

scores.+=(("zhao"->44))

scores -= "jim" //

刪除元素

println(scores)

結果

map(li -> 27, zhao -> 44, fred -> 33, tom -> 20, lily -> 30, sam -> 44)
不可變對映  通過宣告var變數來重新賦值,完成元素的增、刪

var scores = map("jim"->10, ("tom",20), "sam"->44)

scores = scores +("lily"-> 23)

scores -= "jim"println(scores)

結果

map(tom -> 20, sam -> 44, lily -> 23)

var scores = map("jim"->10, ("tom",20), "sam"->44)

for((k, v)

for(i

println()

for(i 結果

jim,10tom,20sam,44jim tom sam

10 20 44

val sortedscores = scala.collection.immutable.sortedmap("jim"->10, ("tom",20), "sam"->44)

println(sortedscores)

結果

map(jim -> 10, sam -> 44, tom -> 20)

val tuple = (1, 3.14, "hello")

println(tuple._1)

//訪問第乙個元組,下標值不是0而是1

val(first, second, _) = tuple //

獲取元組的元素

println(second)

結果

1

3.14

把元組的多個值繫結在一起

val symbols = array("")

val counts = array(2,10,2)

val pairs =symbols.zip(counts)

for((k,v) 結果

<>

keys.zip(values).tomap

通過拉鍊組合成對映

Scala對映和元組

import scala.collection.mutable object helloworld for k,v 對映 處理k和v 如果你需要訪問鍵或值,可以使用keyset和values方法,values返回乙個iterable 要反轉乙個對映 即交換鍵和值的位置 可以用 for k,v 對映 ...

scala學習筆記3 對映和元組

對映和元組 1 scala中,對映是對偶的集合,可以看做將鍵對映到值的函式,區別在於函式一般用於計算,而對映只做查詢。val scores map alice 10,bob 3,cindy 8 不可變的對映 val scores new scala.collection.mutable.hashma...

scala之三 陣列 對映 元組

1.陣列 定長陣列,可以使用array,當指定型別而沒有初始化時,使用初始預設值初始化 val nums new array int 10 當指定了初始值時,定義陣列就不需要new了 val s array hello world s 0 good 變長陣列,使用arraybuffer,其定義與定長...