object ArrayDemo {
def main(args: Array[String]): Unit = {
/*
* 定义一个数组
*/
val numArr = Array(6, 8, 9)
// 对数组中每个元素进行操作
// TODO: def foreach[U](f: A => U): Unit
numArr.foreach(item => print(s"${item}\t"))
// 简写
println("\n==================简写==================")
numArr.foreach(println(_))
// 进一步简写
// def println(x: Any),调用高阶函数的时候,传递的是函数(符合需求)
numArr.foreach(println)
// 针对数组中的每个元素操作,乘以2
numArr.map(item => item * 2).foreach(println(_))
// 创建不可变的数组,通过指定值的方式
// 创建方式在Scala语言中很常见,底层是通过new创建类的实例对象
val arr: Array[String] = Array("hive", "scala", "spark", "kafka")
// 获取数组中的元素,使用下标获取,下标从0开始
println(s"First element is ${arr(0)}")
// length和size方法都是获取长度
println(s"Length = ${arr.length} and Size = ${arr.size}")
// 修改数组中某个下标的值
arr(0) = "flink"
// 循环遍历数组中的元素
for (item <- arr) println(item)
arr.foreach(item => println(item))
// 当匿名函数参数只有一个并且后面只独立使用一次,可以省略
arr.foreach(println)
// 创建数组的第二种方式:指定数组的长度,没有赋值,注意:一定要用new
// TODO:arr1: Array[Int] = Array(0, 0, 0, 0, 0)
val arr1: Array[Int] = new Array[Int](3)
println(s"Length = ${arr1.length}")
// 根据下标索引赋值
arr1(0) = 6
arr1(1) = 6
arr1.foreach(println(_))
// 合并数组
val arrConcat = Array.concat(arr1, numArr)
arrConcat.foreach(println(_))
}
}
【Scala入门】Scala中的Array(定长数组)
最新推荐文章于 2023-03-22 08:15:48 发布