码迷,mamicode.com
首页 > 编程语言 > 详细

Scala中数组的创建及实例化

时间:2014-11-25 12:55:03      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:scala   list   array   tuple   

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)

Scala中数组的创建及实例化

标签:scala   list   array   tuple   

原文地址:http://blog.csdn.net/u011740475/article/details/41477897

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!