首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
Scala简介
Scala 基础语法
Scala 数据类型
Scala 变量
Scala 访问修饰符
Scala 运算符
Scala IF...ELSE 语句
Scala 循环
Scala 方法与函数
Scala 闭包
Scala 字符串
Scala 数组
Scala Collection
Scala Iterator(迭代器)
Scala 类和对象
Scala Trait(特征)
Scala 模式匹配
Scala 正则表达式
Scala 异常处理
Scala 提取器(Extractor)
Scala 文件 I/O
当前位置:
首页>>
技术小册>>
Scala入门教程
小册名称:Scala入门教程
Scala 语言中提供的数组是用来存储固定大小的同类型元素,数组对于每一门编程语言来说都是重要的数据结构之一。 声明数组变量并不是声明 number0、number1、...、number99 一个个单独的变量,而是声明一个就像 numbers 这样的变量,然后使用 numbers[0]、numbers[1]、...、numbers[99] 来表示一个个单独的变量。数组中某个指定的元素是通过索引来访问的。 数组的第一个元素索引为0,最后一个元素的索引为元素总数减1。 ###声明数组 以下是 Scala 数组声明的语法格式: ``` var z:Array[String] = new Array[String](3) ``` 或 ``` var z = new Array[String](3) ``` 以上语法中,z 声明一个字符串类型的数组,数组长度为 3 ,可存储 3 个元素。我们可以为每个元素设置值,并通过索引来访问每个元素,如下所示: ``` z(0) = "maxiaoke"; z(1) = "Baidu"; z(4/2) = "Google" ``` 最后一个元素的索引使用了表达式 4/2 作为索引,类似于 z(2) = "Google"。 我们也可以使用以下方式来定义一个数组: ``` var z = Array("maxiaoke", "Baidu", "Google") ``` ###处理数组 数组的元素类型和数组的大小都是确定的,所以当处理数组元素时候,我们通常使用基本的 for 循环。 以下实例演示了数组的创建,初始化等处理过程: 实例 ``` object Test { def main(args: Array[String]) { var myList = Array(1.9, 2.9, 3.4, 3.5) // 输出所有数组元素 for ( x <- myList ) { println( x ) } // 计算数组所有元素的总和 var total = 0.0; for ( i <- 0 to (myList.length - 1)) { total += myList(i); } println("总和为 " + total); // 查找数组中的最大元素 var max = myList(0); for ( i <- 1 to (myList.length - 1) ) { if (myList(i) > max) max = myList(i); } println("最大值为 " + max); } } ``` 执行以上代码,输出结果为: ``` $ scalac Test.scala $ scala Test 1.9 2.9 3.4 3.5 总和为 11.7 最大值为 3.5 ``` ###多维数组 多维数组一个数组中的值可以是另一个数组,另一个数组的值也可以是一个数组。矩阵与表格是我们常见的二维数组。 以上是一个定义了二维数组的实例: ``` val myMatrix = Array.ofDim[Int](3, 3) ``` 实例中数组中包含三个数组元素,每个数组元素又含有三个值。 接下来我们来看一个二维数组处理的完整实例: 实例 ``` import Array._ object Test { def main(args: Array[String]) { val myMatrix = Array.ofDim[Int](3, 3) // 创建矩阵 for (i <- 0 to 2) { for ( j <- 0 to 2) { myMatrix(i)(j) = j; } } // 打印二维阵列 for (i <- 0 to 2) { for ( j <- 0 to 2) { print(" " + myMatrix(i)(j)); } println(); } } } ``` 执行以上代码,输出结果为: ``` $ scalac Test.scala $ scala Test 0 1 2 0 1 2 0 1 2 ``` ###合并数组 以下实例中,我们使用 concat() 方法来合并两个数组,concat() 方法中接受多个数组参数: 实例 ``` import Array._ object Test { def main(args: Array[String]) { var myList1 = Array(1.9, 2.9, 3.4, 3.5) var myList2 = Array(8.9, 7.9, 0.4, 1.5) var myList3 = concat( myList1, myList2) // 输出所有数组元素 for ( x <- myList3 ) { println( x ) } } } ``` 执行以上代码,输出结果为: ``` $ scalac Test.scala $ scala Test 1.9 2.9 3.4 3.5 8.9 7.9 0.4 1.5 ``` ###创建区间数组 以下实例中,我们使用了 range() 方法来生成一个区间范围内的数组。range() 方法最后一个参数为步长,默认为 1: 实例 ``` import Array._ object Test { def main(args: Array[String]) { var myList1 = range(10, 20, 2) var myList2 = range(10,20) // 输出所有数组元素 for ( x <- myList1 ) { print( " " + x ) } println() for ( x <- myList2 ) { print( " " + x ) } } } ``` 执行以上代码,输出结果为: ``` $ scalac Test.scala $ scala Test 10 12 14 16 18 10 11 12 13 14 15 16 17 18 19 ```
上一篇:
Scala 字符串
下一篇:
Scala Collection
该分类下的相关小册推荐:
暂无相关推荐.