溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

scala元組怎么創(chuàng)建

發(fā)布時間:2021-12-08 15:05:30 來源:億速云 閱讀:177 作者:iii 欄目:大數(shù)據

本篇內容主要講解“scala元組怎么創(chuàng)建”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“scala元組怎么創(chuàng)建”吧!

在 Scala 中,元組是一個可以容納不同類型元素的類。元組是不可變的。

當我們需要從函數(shù)返回多個值時,元組會派上用場。

元組可以創(chuàng)建如下:

val ingredient = ("Sugar" , 25):Tuple2[String, Int]

這將創(chuàng)建一個包含一個 String 元素和一個 Int 元素的元組。

Scala 中的元組包含一系列類:Tuple2,Tuple3等,直到 Tuple22。因此,當我們創(chuàng)建一個包含 n 個元素(n 位于 2 和 22 之間)的元組時,Scala 基本上就是從上述的一組類中實例化 一個相對應的類,使用組成元素的類型進行參數(shù)化。上例中,ingredient 的類型為 Tuple2[String, Int]。

訪問元素

使用下劃線語法來訪問元組中的元素?!畉uple._n’ 取出了第 n 個元素(假設有足夠多元素)。

println(ingredient._1)
println(ingredient._2)

解構元組數(shù)據

Scala 元組也支持解構。

val (name, quantity) = ingredient
println(name)
println(quantity)

元組解構也可用于模式匹配。

val planetDistanceFromSun = List(("Mercury", 57.9), ("Venus", 108.2), ("Earth", 149.6 ), ("Mars", 227.9), ("Jupiter", 778.3))
planetDistanceFromSun.foreach{ tuple => {    tuple match {          case ("Mercury", distance) => println(s"Mercury is $distance millions km far from Sun")            case p if(p._1 == "Venus") => println(s"Venus is ${p._2} millions km far from Sun")            case p if(p._1 == "Earth") => println(s"Blue planet is ${p._2} millions km far from Sun")            case _ => println("Too far....")    }      }  }

或者,在 ‘for’ 表達式中。
val numPairs = List((2, 5), (3, -7), (20, 56))
for ((a, b) <- numPairs) {
 println(a * b)  }

類型 Unit 的值 () 在概念上與類型 Tuple0 的值 () 相同。Tuple0 只能有一個值,因為它沒有元素。

用戶有時可能在元組和 case 類之間難以選擇。通常,如果元素具有更多含義,則首選 case 類。

到此,相信大家對“scala元組怎么創(chuàng)建”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI