scala第八天

packagecom.learn.scala

/**

* scala第八天

* Created by zhuqing on 2017/2/27.

*/

objectDay8MapAndTuple {

defmain(args: Array[String]): Unit = {

valmap =Map("Robbie"->100,"Lizzy"->89,"Tom"->90);

for((k, v) <- map) {

println("k="+ k,"v="+ v)

}

//scala中對Map的key,value值的遍歷與Java類似

for(k <- map.keySet) {

println("k="+ k +"=>"+ map.get(k).get)

}

for(v <- map.values) {

println("v="+ v)

}

/**

* 元組:不同類型值的聚集就是元組,Map的鍵值對就是最簡單的元組,如上面的(String,Int).

* 這個是Java中沒有的概念,如果真要用Java實現(xiàn)元組的功能,可以用Object類型的集合。

*/

valtuple = ("Robbie","Math",83)

//tuple取值時可以按照順序號取

println(tuple._1 +":"+ tuple._2 +":"+ tuple._3)

//也可以使用模式匹配的方式獲取

val(name, classname, score) = tuple;

println(name +":"+ classname +":"+ score)

//如果不是每個屬性都需要可以使用下劃線_為不使用的屬性命名

val(enName, _, enScore) = tuple

println(enName +"=>"+ enScore)

//元組可以用在函數(shù)返回多種返回值時,這種情況Java不好處理

val(secondName, age) =this.getNameAndAge();

println("scondName="+ secondName +", age="+ age)

/**

* 拉鏈操作,將兩個數(shù)組合并成一個對偶數(shù)組

*/

valnames =Array("Robbie","Tom","Lizzy")

valages =Array(22,23,21)

valnewTupes = names.zip(ages)

for((name, age) <- newTupes) {

println(name +"=>"+ age)

}

}

/**

* 生成姓名和年齡的元組

*

*@return

*/

defgetNameAndAge(): (String, Int) = {

("Tom",23)

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • scala文檔 包含內(nèi)容 1基礎(chǔ) 2控制結(jié)構(gòu)和函數(shù) 3數(shù)組相關(guān)操作 4映射和元組 5類 6對象 7.包和引入(x)...
    zlcook閱讀 1,052評論 0 3
  • Scala的集合類可以從三個維度進行切分: 可變與不可變集合(Immutable and mutable coll...
    時待吾閱讀 5,955評論 0 4
  • Scala學(xué)習(xí)筆記: 1.1 scala的基礎(chǔ)語法 聲明與定義(賦值):聲明變量時可以指定類型,不指定也可以自動識...
    哎喲喂嘍閱讀 644評論 0 2
  • 數(shù)組 :new Array[Int](8)與Array[Int](8)的區(qū)別:第一種8個元素,第二個定義一個值為8...
    夙夜M閱讀 1,867評論 1 2
  • 一群人的路, 走了太久, 總有一些膩煩, 太多遷就你似乎快忘了自己, 想要一個人走走, 發(fā)現(xiàn)孤單原來沒那么可怕 還...
    木白王閱讀 238評論 0 0

友情鏈接更多精彩內(nèi)容