Scala 中的 Tuple 元组详解

水深无声 2023-09-26 21:36 181阅读 0赞

元组的定义:与列表一样,与列表不同的是元组可以包含不同类型的元素。元组的值是通过将单个的值包含在圆括号中构成的。当定义的元组当中包含不同的数据类型,可看到返回值开始会包含其所对应的数据类型。

  1. /**
  2. *注意:1.元组最多支持22个元素,也就是元组只能放22个元素,
  3. * 2.元组可以通过new的方式创建,也可以不new,甚至可以直接在()中写元素
  4. */
  5. val tuple1: Tuple1[String] = new Tuple1("hello")
  6. val tuple2: (String, Int) = new Tuple2("a", 100)
  7. val tuple3: (Int, Boolean, Char) = new Tuple3(1, true, 'c')
  8. // val tuple4: (Int,Double,String,Boolean) = Tuple4(1,3,4,"abc",false)
  9. val tuple6: (Int, Int, Int, Int, Int, String) = (1, 2, 3, 4, 5, "abc")
  10. val tuple22 = (1,2,3,4,5,6,7,8,9,10,11,12,"abc",14,15,16,17,18,19,20,21,22)

注意:在元组当中最多可以写上22个元组的数据类型。虽然不会报错,但是不是元组类型了。

使用._数字 进行获取元组当中所对应的值

  1. //打印tuple3元组中的第二个元素
  2. println(tuple3._2)
  3. //打印tuple22元组中的第22个元素
  4. println(tuple22._22)

对元组进行遍历,不存在for和foeach函数。需要使用到迭代器:

使用到了迭代器就可以使用到while进行遍历,或者使用for或者foreach循环

  1. //元组的遍历:不能直接for或者foreach遍历
  2. val iter: Iterator[Any] = tuple6.productIterator
  3. iter.foreach(println)
  4. //或者用循环的方式
  5. while (iter.hasNext){
  6. println(iter.next())
  7. }

toString和swap方法

  1. //元组里默认有toString方法,所以可以直接打印,会把元素都放在一个()里打印出来
  2. println(tuple3)
  3. //swap方法:将元组的元素进行反转,但注意只能用在元组只有2个元素的时候
  4. println(tuple2.swap)

发表评论

表情:
评论列表 (有 0 条评论,181人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Scala Tuple 详解

    元组的定义:与列表一样,与列表不同的是元组可以包含不同类型的元素。元组的值是通过将单个的值包含在圆括号中构成的。当定义的元组当中包含不同的数据类型,可看到返回值开始会包含其所对

    相关 Scala Tuple

    元组的定义:与列表一样,与列表不同的是元组可以包含不同类型的元素。元组的值是通过将单个的值包含在圆括号中构成的。当定义的元组当中包含不同的数据类型,可看到返回值开始会包含其所对