Scala中数组的创建及实例化

来源:互联网 发布:我知女人心 迅雷 编辑:程序博客网 时间:2024/05/22 13:17

Scala创建以及实例化的方式:

//创建一个长度为3的字符串数组,并逐个赋值,然后打印输出结果val greetStrings = new Array[String](3)greetStrings(0)="Hello"greetStrings(1)=","greetStrings(2)="world\n"for(i <- 0 to 2){print(greetStrings(i))}
注意:Scala中访问数组中某个元素使用的是(),例如greetStrings(0),而不是像java中使用的是[]访问。

同时,实例化数组还可以使用以下方式

val numNames = Array("zero","one","two")numNames.foreach(numName =>println(numName))val numNames2 = Array.apply("zero","one","two","four")numNames2.foreach(numName2 => println(numName2))
Scala数组是一个所有对象都共享相同类型的可变序列。比方说Array[String]仅包含String。尽管实例化之后你无法改变Array的长度,它的元素值却是可变的。因此,Array是可变的对象。

说到共享相同类型的不可变对象序列,Scala的List类才是。和数组一样,List[String]包含的仅仅是String。Scala的List,scala.List,不同于Java的java.util.List,总是不可变的(而Java的List可变)因为List是不可变的,他们表现得有些像Java的String:当你在一个List上调用方法时,似乎这个名字指代的List看上去被改变了,而实际上它只是用新的值创建了一个List并返回。

List有个叫“:::”的方法实现叠加功能。List最常用的操作符是发音为“cons”的‘::’。Cons把一个新元素组合到已有List的最前端,然后返回结果List

例如:

val onetwo = List(1,2)val threefour = List(3,4)val onetofour =  onetwo:::threefourprintln(onetofour)val zerototwo = 0::onetwoprintln(zerototwo)
tuple。与列表一样,元组也是不可变的,但与列表不同,元组可以包含不同类型的元素。而列表应该是List[Int]或List[String]的样子,元组可以同时拥有Int和String。

一旦你已经实例化了一个元组,你可以用点号,下划线和一个基于1的元素索引访问它。

val tuple = (12,"hello,world",'c',23.4)println(tuple._1)println(tuple._2)println(tuple._3)println(tuple._4)

0 0