Scala元组
来源:互联网 发布:win10改mac地址 编辑:程序博客网 时间:2024/05/29 19:25
来源:
http://www.yiibai.com/scala/scala_tuples.html
Scala的元组结合件多个固定数量在一起,使它们可以被传来传去作为一个整体。不像一个数组或列表,元组可以容纳不同类型的对象,但它们也是不可改变的。这里是一个元组持有整数,字符串和Console,如下的一个例子:
val t = (1, "hello", Console)
这是语法修饰(快捷方式)以下:
val t = new Tuple3(1, "hello", Console)
一个元组的实际类型取决于它包含的元素和这些元素的类型的数目。因此,该类型 (99, "Luftballons") 是 Tuple2[Int, String]. ('u', 'r', "the", 1, 4, "me") 的类型是 Tuple6[Char, Char, String, Int, Int, String]
元组类型Tuple1,Tuple2,Tuple3等。至少目前为22的上限在Scala,如果需要更多,那么可以使用一个集合,而不是一个元组。对于每个TupleN类型,其中1<= N <= 22,Scala定义了许多元素的访问方法。给出了以下定义:
val t = (4,3,2,1)
要访问的元组 t 的元素,可以使用的方法t._1访问的第一个元素,t._2进入第二个,依此类推。例如,下面的表达式计算t的所有元素的总和:
val sum = t._1 + t._2 + t._3 + t._4
可以使用三元组来写一个方法,它接受一个List[Double],并返回计数的总和,并在三个元素的元组返回平方和,Tuple3[Int, Double, Double]。它们也非常有用传递的数据值的列表并发编程之间的消息。下面是一个元组的例子显示使用:
object Test { def main(args: Array[String]) { val t = (4,3,2,1) val sum = t._1 + t._2 + t._3 + t._4 println( "Sum of elements: " + sum ) }}
让我们编译和运行上面的程序,这将产生以下结果:
C:/>scalac Test.scalaC:/>scala TestSum of elements: 10C:/>
遍历元组:
可以使用Tuple.productIterator()方法来遍历一个元组的所有元素。下面是一个例子来连接两个图:
object Test { def main(args: Array[String]) { val t = (4,3,2,1) t.productIterator.foreach{ i =>println("Value = " + i )} }}
让我们编译和运行上面的程序,这将产生以下结果:
C:/>scalac Test.scalaC:/>scala TestValue = 4Value = 3Value = 2Value = 1C:/>
转换为字符串:
可以使用Tuple.toString()方法来连接的元组的所有元素为一个字符串。以下为例子来说明的用法:
object Test { def main(args: Array[String]) { val t = new Tuple3(1, "hello", Console) println("Concatenated String: " + t.toString() ) }}
让我们编译和运行上面的程序,这将产生以下结果:
C:/>scalac Test.scalaC:/>scala TestConcatenated String: (1,hello,scala.Console$@281acd47)C:/>
交换元素:
可以使用Tuple.swap方法来交换一个Tuple2的元素。以下为例子来说明的用法:
object Test { def main(args: Array[String]) { val t = new Tuple2("Scala", "hello") println("Swapped Tuple: " + t.swap ) }}
让我们编译和运行上面的程序,这将产生以下结果:
C:/>scalac Test.scalaC:/>scala TestSwapped tuple: (hello,Scala)C:/>
- Scala 元组
- Scala元组
- Scala元组
- Scala中的元组
- Scala映射和元组
- Scala 映射和元组
- scala学习(数组,元组)
- Scala映射和元组
- Scala映射与元组
- scala映射和元组
- Scala映射和元组
- scala中的tuple元组
- Scala 映射和元组
- Scala元组和映射
- scala数据结构之元组
- scala编程系列(4)-scala元组tuple
- scala学习-scala中的元组Tuple概念
- scala中的元组(Tuple)
- HDU 3605 Escape(最大流+合并点)
- Codeforces Round #383 (Div. 2) C. Arpa's loud Owf and Mehrdad's evil plan —— DFS找环
- C语言指针
- RBTree的插入操作
- C++实现排序算法
- Scala元组
- easyui 中日期控件清空文本框的值之后,获取仍有值
- fiddle 相关
- python module学习之beautifulsoup
- 8
- JavaScript基础笔记_17-07-13
- 9
- 10
- ThreadLocal工作原理