创建元组
val t1 = (1,2,3,4)
val t2 = ("java","scala",33)
查看值:
t2._1
res48: String = java
另一个方式创建元组
val t4,(a,b,c) = ("hello","world","nihao")
t4: (String, String, String) = (hello,world,nihao)
a: String = hello
b: String = world
c: String = nihao
scala> a
res49: String = hello
scala> b
res50: String = world
scala> c
res51: String = nihao
val t4,(a,b,c) = ("hello","world","nihao")
t4: (String, String, String) = (hello,world,nihao)
a: String = hello
b: String = world
c: String = nihao
scala> a
res49: String = hello
scala> b
res50: String = world
scala> c
res51: String = nihao val t4,(a,b,c) = ("hello","world","nihao")
t4: (String, String, String) = (hello,world,nihao)
a: String = hello
b: String = world
c: String = nihao
scala> a
res49: String = hello
scala> b
res50: String = world
scala> c
res51: String = nihao
t4._1
res53: String = hello
元组的遍历
t6.productIterator.foreach(i=>println(i))
1
2
3
4
test
拉链操作
val a1 = Array("java","scala","python")
a1: Array[String] = Array(java, scala, python)
scala> val a2 = Array(1,2,3)
a2: Array[Int] = Array(1, 2, 3)
scala> a1.zip(a2)
res55: Array[(String, Int)] = Array((java,1), (scala,2), (python,3))
val a3 = Array(1,2,3,4)
a3: Array[Int] = Array(1, 2, 3, 4)
scala> a1.zip(a3)
res56: Array[(String, Int)] = Array((java,1), (scala,2), (python,3))//多余的被舍弃
设置一个默认值,不会舍弃多余的值
val x = "a"
x: String = a
scala> val y = 4
y: Int = 4
scala> a1.zipAll(a3,x,y)
res57: Array[(String, Int)] = Array((java,1), (scala,2), (python,3), (a,4))
scala> val a5 = a1.zipAll(a3,x,y)
a5: Array[(String, Int)] = Array((java,1), (scala,2), (python,3), (a,4))
scala> a5.unzip
重新返回原来的样子
网友评论