/**
* Created with IntelliJ IDEA.
* Author: zyc2913@163.com
* Date: 2020/9/17 17:09
* Version: 1.0
* Description:元组的创建、赋值、取值、遍历
*/
object StudyTuple {
def main(args: Array[String]): Unit = {
/**
* 元组 tuple
* 元组是一种特殊的集合
* 形态 就是一个()括起来的若干(2,22)元素:最少2个元素,最多22个元素
* 元组可以为每个元素记录其数据类型
* 在函数需要返回多个类型的值时使用
*/
//举例(一个面试题)
def f1 (a:Int,b:Int) = {
val q = a / b
val r = a % b
(q,r)
}
val res :(Int,Int) = f1( 10,-4)
println(res) //控制台输出(-2,2)
//1.创建实例
val tuple1:(Int,Double,String,String) = (1,2.2,"ABC","str1")
//2.取值:元组对象._序号 序号从1开始,表示元组中按照顺序存储的元素
val value = tuple1._1
println(value) //控制台打印元组的第一个元素,结果为1
//数组也可以存储不同数据类型的数据,此时数组类型为Any型,要取到数组的值需要先判断数据类型,再强转
val arr = Array[Any](1,3.4,"hello")
//判断如果arr(2)是Double型,则执行把arr(2)强转为Double型
if (arr(2).isInstanceOf[Double]){
val d :Double = arr(2).asInstanceOf[Double]
}