前言
day03(day03-scala学习之函数参数、Lazy(懒值)、异常处理),我们学习了scala函数参数、Lzay(懒值)、异常处理,今天学习scala的数组、映射(Map)、元组(Tuple)。
scala数组
scala数组分为如下两种:
- 定长数组:使用关键字Array定义。
- 变长数组:使用关键字ArayBuffer定义。
定长数组
如下在scala的命令行模式下进行一些定长数组的试验
scala> val a = new Array[Int](4)
a: Array[Int] = Array(0, 0, 0, 0)
scala> val b = new Array[String](3)
b: Array[String] = Array(null, null, null)
#没有指定长度,但是指定的元素值,scala会自动推导元素个数及元素的数据类型
scala> val c = Array("Tom","Many","Lily")
c: Array[String] = Array(Tom, Many, Lily)
#如元素的数据类型不止一种,scala会把这个数组的数据类型定义为Any,如Array[Any]
scala> val d = Array("Tom","Many",2)
d: Array[Any] = Array(Tom, Many, 2)
scala>
变长数组
使用变长数组,需要导入mutable这个包,如下在scala的命令行模式下进行一些变长数组的试验。
#先导入mutable这个包
scala> import scala.collection.mutable._
import scala.collection.mutable._
#定义了名为a的变长数组,里面存放的是Int类型的元素
scala> val a = ArrayBuffer[Int]()
a: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer()
#向数组中添加 3 这个元素
scala> a += 3
res0: a.type = ArrayBuffer(3)
# 同时添加多个元素
scala> a += (2,5,9)
res1: a.type = ArrayBuffer(3, 2, 5, 9)
scala> a
res2: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(3, 2, 5, 9)
#去掉最后2个元素
scala> a.trimEnd(2)
scala> a
res4: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(3, 2)
scala>
数组遍历
数据的遍历,可以使用for循环、foreach等进行,如下是在scala命令行下进行的示例。
scala> val a = Array("Tom",