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:::threefour println(onetofour) val zerototwo = 0::onetwo println(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)
时间: 2024-10-20 18:53:13