美文网首页
Scala编程基础20:Scala元组

Scala编程基础20:Scala元组

作者: 金字塔下的小蜗牛 | 来源:发表于2020-04-08 08:17 被阅读0次

元组是不可变的,但是元组可以包含不同类型的元素。元组的定义很简单,直接将一组值用圆括号()包含起来即可,例如:

val t = (1, 3.14, "red")

以上实例定义了一个包含三个元素的元组。我们也可以使用下面这种方法来定义上面的元组:

val t = new Tuple3(1, 3.14, "red")

上述例子的Tuple3中的数字3表示3个元素,该数字最大可以到22。对于更大的长度可以使用集合,或者扩展元组,也可以直接使用圆括号来定义。访问元组的元素可以使用数字索引。

1.定义和使用元组

以下实例演示了元组的定义和使用:

object Test1 {
    def main(args:Array[String]){
        val t = (1,2,3,4);
        println(t);
        val sum = t._1 + t._2 + t._3 + t._4;
        println("sum = " + sum);
    }
}

编译并执行以上代码,输出结果如下:

E:\Scala>scalac Test1.scala
E:\Scala>scala Test1
(1,2,3,4)
sum = 10

2.迭代输出元组的元素

可以使用Tuple.productIterator()方法来迭代输出元素的所有元素:

object Test2 {
    def main(args:Array[String]){
        val t = (1,2,3,4);
        t.productIterator.foreach{ i => 
            println("value = " + i);
        }
    }
}

编译并执行上述代码,输出结果如下:

E:\Scala>scalac Test2.scala
E:\Scala>scala Test2
value = 1
value = 2
value = 3
value = 4

3.元组转换为字符串

可以使用Tuple.toString()方法将元组的所有元素组合成一个字符串,实例如下:

object Test3{
    def main(args:Array[String]){
        val t = (1,"hello", Console);
        println(t.toString());
    }
}

编译并执行上述代码,输出结果如下:

E:\Scala>scalac Test3.scala
E:\Scala>scala Test3
(1,hello,scala.Console$@15ff3e9e)

4.元组元素交换

可以使用Tuple.swap方法来交换元组的元素:

object Test4 {
    def main(args:Array[String]){
        val t = (1,2);
        println("before swap = " + t);
        println("after swap = " + t.swap);
    }
}

编译并执行上述代码,输出结果如下:

E:\Scala>scalac Test4.scala
E:\Scala>scala Test4
before swap = (1,2)
after swap = (2,1)

相关文章

  • Scala编程基础20:Scala元组

    元组是不可变的,但是元组可以包含不同类型的元素。元组的定义很简单,直接将一组值用圆括号()包含起来即可,例如: v...

  • Scala函数式编程(三) scala集合和函数

    前情提要: scala函数式编程(二) scala基础语法介绍 scala函数式编程(二) scala基础语法介绍...

  • Scala函数式编程(四)函数式的数据结构 下

    前情提要 Scala函数式编程指南(一) 函数式思想介绍 scala函数式编程(二) scala基础语法介绍 Sc...

  • Scala函数式编程(五) 函数式的错误处理

    前情提要 Scala函数式编程指南(一) 函数式思想介绍 scala函数式编程(二) scala基础语法介绍 Sc...

  • 第三讲函数详解

    Scala被认为是函数式编程语言,故Scala函数是Scala编程的核心。所以掌握scala的函数至关重要。 本章...

  • Scala基础

    Scala概述 Scala设计的目的是整合面向对象编程和函数式编程。Scala运行于Java平台(JVM),并兼容...

  • Scala从入门到小工| 01

    Scala学习之一 Scala概述 scala是一门多范式编程语言,集成了面向对象编程和函数式编程等多种特性。sc...

  • scala特性

    为了能用scala开发spark,简单的介绍一下scala特性.scala即面向对象编程,也同时面向方法编程,也可...

  • Scala从入门到精通

    1 初识 Scala 1.1 Scala 概述 Scala 是一门多范式的编程语言,设计初衷是要集成面向对象编程和...

  • Scala元组

    与列表一样,元组也是不可变的,但与列表不同的是元组可以包含不同类型的元素。元组的值是通过将单个的值包含在圆括号中构...

网友评论

      本文标题:Scala编程基础20:Scala元组

      本文链接:https://www.haomeiwen.com/subject/tbskdhtx.html