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

Scala基础03:数组

时间:2015-06-27 22:40:07      阅读:313      评论:0      收藏:0      [点我收藏+]

标签:

Scala数组

定长数组

声明数组的基本格式:

val arr =  new Array[T](N)

例:

val nums = new Array[Int](10)

val strs = new Array[String](10)

数组声明时若不给出值,会被初始化,初始化后同样能对数组成员进行赋值。

数组成员初始化,如Int类型的会都被初始化为0,String类型的会被初始化为null。

为数组直接赋值

基本格式:

val arr = Array( x1,x2,....xn);

例:

val s = Array(“Hello”,”World”)

技术分享

访问数组元素

使用( ) ,而不是[ ] 来访问元素。

技术分享

为数组元素赋值

s(1) = "Scala"

技术分享

变长数组

使用变长数组需要引入包:

import scala.collection.mutable.ArrayBuffer

技术分享

声明一个空的数组缓存,此时b是一个全为空的数组,数组长度为0。

val b = ArrayBuffer[Int]()

技术分享

在数组尾部增加一个元素“1”。

b+=1

技术分享

在数组尾部增加一系列元素“2,3”。

b+=(2,3)

技术分享

将数组Array(5,8,13,21)中的元素增加在b数组尾部。

b++=Array(5,8,13,21)

技术分享

移除最后3个元素

b.trimEnd(3)

技术分享

在标记位为2的元素前插入元素。

b.insert(2,-2)

技术分享

在标记位2的元素前插入一系列元素。

b.insert(2,-3,-5)

技术分享

移除标记位为3的元素。

b.remove(3)

技术分享

移出标记位为1及其之后的元素,共移除2个元素。

b.remove(1,2)

技术分享

把变长数组转换为定长数组。

val c = b.toArray

技术分享

把定长数组转换为变长数组

val d = c.toBuffer

技术分享

遍历数组

按数组序号遍历。

for(i <- 0 until a.length) {

  println(i+”:”+a(i))

}

直接遍历数组的成员(这是更好的做法)

for(i <- array) {

  println(i)

}

通过遍历数组的下标获得成员

for(i <- 0 to(C.length-1) {

  println(C(i))

}

每两个元素一条进行遍历

for(i <- 0 to (C.length,2) ) {

  println(C(i))

}

倒序遍历

for(i <- (0 to C.length).reverse) {

  println(C(i))

}

通过for语句枚举数组成员,可以实现多种数组控制,如把数组成员各加1并生成新数组:

val NEW=for(i <- C) yield i+1

这种数组生成是对应原数组类型的(定长/变长)

多维数组

val matrix = Array.ofDim[Double](3,4)  //三行,四行

val triangle = new Array[Array[Int]](10)

for (i <- 0 until triangle.length)

定长数组与变长数组

对于Scala更鼓励使用定长数组。

Scala基础03:数组

标签:

原文地址:http://www.cnblogs.com/shijiaqi1066/p/4604771.html

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