Scala 数组和元组

it2023-04-02  77

1、定义数组

数组创建方式一:

var a1:Array[String] = new Array[String](3) a1(0)="Jason" a1(1)="Marie" a1(2)="Jimmy"

注意:1、泛型使用方括号;2、数组元素访问使用圆括号。

数组创建方式二:

var a2=Array("Jason","Marie","Jimmy")

数组创建方式三:区间数组

var a3=Array.range(1,10) // 输出: Array[Int] = Array(1, 2, 3, 4, 5, 6, 7, 8, 9) var a3=Array.range(1,10,2) // 输出:Array[Int] = Array(1, 3, 5, 7, 9)

2、数组遍历

def main(args: Array[String]): Unit = { val a=Array(8,6,5,7,1) // 1、方式一 相当于java中的增强for循环 for (elem <- a){ println(elem) } // 2、方式二 根据下标依次遍历即可 for (i <- 0 until a.length) { println(a(i)) } }

3、元组定义

元组与数组类似,但是数组中所有的元素必须是同一种类型,而元组则可以包含不同类型的元素。最多支持22个元素 (Tuple1~Tuple22)使用下划线“_"访问元素,“_1"表示第一个元素 //元组定义方式一 var tupleDemo =("hello",2,5,8,"world",'a') println(tupleDemo) println(tupleDemo._1) println(tupleDemo._2) println(tupleDemo._3) println(tupleDemo._4) println(tupleDemo._5) println(tupleDemo._6) //迭代元组 tupleDemo.productIterator.foreach{x=> println("value:"+x)} //元组声明方式二 var tp2 = new Tuple3("Mike", "123 ABC street", 58) //元组声明方式三 def mike = "Mike" -> 5 println(mike) //输出:(mike,5) println(mike.getClass) //输出:class scala.Tuple2 //拓展二维元组 def mike = "Mike" -> 5 -> 6 println(mike) //输出:((mike,5),6) //输出scala.Tuple2 mike.getClass

4、元组模式匹配

可以通过模式匹配来获取元组中的值并赋予对应的变量:

//定义元组 val tp1=("mike","andemen",18) //将元组元素依次赋给三个变量 val(name, address, age) = tp1 println(name) println(address) println(age)

如果某些位置不需要赋值,则可以使用下划线代替:

val tp1=("mike","andemen",18) val (name,_,_)=tp1 println(name)
最新回复(0)