scala中Tuple元組大全

2021-10-03 11:28:46 字數 2991 閱讀 6530

美圖欣賞:

一.背景

元組在操作spark中還是非常多的

二.元組(tuple)

對映是k/v對偶的集合,對偶是元組的最簡單形式,元組可以裝著多個不同型別的值,是不同型別的值的聚集。

三.**舉例1.第一種方法: 建立乙個tuple元組

scala> val tuple =(1

,"jackson"

,2.5

,100l ,

20f)

tuple:

(int, string, double, long, float)=(

1,jackson,

2.5,

100,

20.0

)

2.tuple元組進行取值

scala> tuple._1

res39: int =

1scala> tuple._2

res40: string = jackson

3.第二種方法: 建立乙個tuple元組

使用new tuple ,後面要寫上新增幾個元素(切記)

scala> val tuple1 =

newtuple3(1

,2,3

)tuple1:

(int, int, int)=(

1,2,

3)scala> val tuple1 =

newtuple2(4

,5)tuple1:

(int, int)=(

4,5)

scala> val tuple1 =

newtuple1(1

,2,3

)tuple1:

((int, int, int),)

=((1

,2,3),)

4.目前 scala 支援的元組最大長度為 22。對於更大長度你可以使用集合,或者擴充套件元組。

//原始碼

@deprecatedinheritance

("tuples will be made final in a future version."

,"2.11.0"

)case

class

tuple22

[+t1,

+t2,

+t3,

+t4,

+t5,

+t6,

+t7,

+t8,

+t9,

+t10,

+t11,

+t12,

+t13,

+t14,

+t15,

+t16,

+t17,

+t18,

+t19,

+t20,

+t21,

+t22]

(_1: t1, _2: t2, _3: t3, _4: t4, _5: t5, _6: t6, _7: t7, _8: t8, _9: t9, _10: t10, _11: t11, _12: t12, _13: t13, _14: t14, _15: t15, _16: t16, _17: t17, _18: t18, _19: t19, _20: t20, _21: t21, _22: t22)

extends

product22

[t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22]

5.另一種定義tuple方法

scala> val tup,

(x,y,z)=(

1,2,

3)tup:

(int, int, int)=(

1,2,

3)x: int =

1y: int =

2z: int =

3scala> x

res41: int =

1scala> y

res42: int =

2scala> z

res43: int =

3

6.進行列印出來

scala> tup.tostring

res44: string =(1

,2,3

)

7.swap進行轉換(只能倆元素)

scala> val tup1 =(1

,2)tup1:

(int, int)=(

1,2)

scala> tup1.swap

res45:

(int, int)=(

2,1)

8.元組遍歷

方式1:

for(elem <

- tuple1.productiterator)

println()

方式2:

tuple1.productiterator.

foreach

(i =

>

println

(i))

tuple1.productiterator.

foreach

(print

(_))

————保持飢餓,保持學習

jackson_mvp

scala中的tuple元組

problem 你想要建立乙個集合,集合元素型別是多樣的。solution 元組為你提供了一種方式來儲存不同型別的元素在乙個容器內,這在許多情況下是非常有用的。新建乙個元祖通過把需要的額元組包在一組小括號內。下面是乙個二元祖 scala val d debi 95 d string,int debi...

Scala學習筆記之元組 Tuple

元組是scala提供的一種特殊的資料結構,或者說是一塊語法糖,它允許多個不同型別的元素組合在一起被使用,如下所示 val tup 1,3.14,元組 true 這是乙個四元組,由4個元素組成。scala目前的版本支援最多22元組。一元組類是存在的,但沒有對應的內建語法,所以單純的用括號把乙個值圍起來...

scala 元組tuple的幾個知識點

通過下標 n取資料不多說了,下面是幾個比較有意思的知識點 知識點1 tuple 和function 和producct一樣最多隻支援22個元素 比如 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 這樣是沒問題的 但是 0,1,2,3,...