Scala数组
时间:2020-01-09 10:47:10 来源:igfitidea点击:
在Scala中,数组是不可变的对象。我们创建一个像这样的数组:
var myArray : Array[String] = new Array[String](10);
首先,我们将变量" var myArray"声明为" Array [String]"类型。那是一个String
数组。如果我们需要一系列例如Int
,用Int
替换String
。
其次,我们将创建一个新的字符串数组,其中包含10个元素(10个字符串)的空间。这是使用代码new Array [String](10)
完成的。括号中传递的数字是数组的长度。换句话说,数组可以包含多少个元素。
创建后,我们将无法更改数组的长度。
访问数组元素
我们可以通过使用数组中的elements索引来访问数组的元素。元素索引从0到数组的长度减去1. 因此,如果数组有10个元素,则可以使用索引0到9访问这10个元素。
我们可以像这样访问数组中的元素:
var aString : String = myArray(0);
请注意,如何使用普通括号括住元素索引,而不是Java中使用的方括号[]。
要将值分配给数组元素,请编写以下代码:
myArray(0) = "some value";
迭代数组元素
我们可以通过两种方式迭代数组的元素。我们可以迭代元素索引,也可以迭代元素本身。
迭代索引
第一种方法是使用for循环,并从0遍历索引号直到数组的长度。方法如下:
for(i <- 0 until myArray.length){ println("i is: " + i); println("i'th element is: " + myArray(i)); }
关键字until
确保仅迭代直到myArray.length 1
。由于数组元素索引从0到数组长度1,因此这是迭代数组的适当方法。
如果需要我在最后一次迭代中也取myArray.length
的值,则可以使用to
关键字而不是until
关键字。有关for循环的更多详细信息,请参见文本Scala。
迭代元素
迭代数组的第二种方法是忽略索引,而仅迭代元素本身。方法如下:
for(myString <- myArray) { println(myString); }
对于循环的每次迭代," myString"都会获取数组中下一个元素的值。请注意,myString
是val
类型,因此我们不能在for循环主体执行期间重新分配它。