天天看點

Scala中的Tuples元組

//scala中的元組

//和list一樣,元組也是不可變得,但是和list也有不同之處:元組可以包含不同類型的元素,但是list為元素為統一中類型

// 元組非常有用,例如,

//如果需要從方法傳回多個對象。 而在Java中你通常會建立一個類似JavaBean的類來儲存多個傳回值,

//在Scala中你可以簡單地傳回一個元組。 它很簡單:執行個體化一個新的

//儲存一些對象的元組,隻是将對象放在括号中,分開用逗号。 執行個體化後,您可以通路其元素單獨使用點,下劃線和元素的從一開始的索引

//元組的下标是從1開始的,而list是從0開始的

val tuples1 = ("tony",12,"hello")

println(tuples1._1)

println(tuples1._2)

println(tuples1._3)

//scala會根據裡面的元素類型去建立tuples,val tuples = Tuples3[String,Int,String],如果裡面有N個元素,就會建立為TuplesN[n的type]

//通過_得到相應的元素,使用.方法進行操作

//通路元組的元素

//您可能想知道為什麼您無法通路元組的元素,比如清單的元素,例如“pair(0)”。 原因是一個清單的apply方法總是傳回相同的類型,但每個類型

//元組的元素可以是不同的類型:_1可以有一種結果類型,_2另一個,依此類推。 這些_N數字是一個基礎,而不是從零開始,

//因為從1開始是其他語言設定的傳統,使用靜态類型的元組,例如Haskell和ML