Scala基础——数组

2019-08-02  本文已影响0人  _羊羽_

定长数组

数组一般包括定长数组和变长数组,在Scala中使用Array进行声明定长数组
注意:scalad的索引标示是小括号()而不是其他语言通用的中括号[],索引下标是从0开始

// 声明一个字符串类型的数组,数组长度为 3 ,为每个元素设置值,并通过索引来访问第二个元素.
val a= new Array[String](3)
a(0) = "abc"
a(1) = "edf"
a(2) = "qaz"
println(a(1))

数组的简写方式

val a = Array("1","2","3")
println(a(1))

数组的遍历

val list = Array("5","2","3","4")
for(x <- list){
  println(x)
}

concat数组合并,concat() 方法来合并两个数组,concat() 方法中接受多个数组参数:

import Array.concat

var a = Array("1","2","3")
var b = Array("a","b","c")
var c = concat(a,b)
for(x <- c){
  println(x)
}

range() 方法来生成一个区间范围内的数组。range() 方法最后一个参数为步长,默认为 1

import Array.range

var a = range(1,10,2)
for(x <- 0 to (a.length-1)){
  println(a(x))
}

数组缓冲

import scala.collection.mutable.ArrayBuffer

 var b = ArrayBuffer[Int]()
    //var b = new ArrayBuffer[Int]()
    b += 1
    b += (1,2,3,4)
    b ++= Array(6,7,8)

构建一个Array但不知道最终需要多少个元素,在这周情况下,先创建转ArrayBuffer,然后toArray换成数组。

 var a = b.toArray
    for(x <-a){
      println(x)
    }

Range数据序列

to

创建一个从1到5的数值序列,包含区间终点5,步长为1

scala> 1 to 5
res0: scala.collection.immutable.Range.Inclusive = Range 1 to 5

until

scala> 1 until 5
res1: scala.collection.immutable.Range = Range 1 until 5

by

创建一个从1到10的数值序列,包含区间终点10,步长为2

scala> var l = 1 to 10 by 2
l: scala.collection.immutable.Range = inexact Range 1 to 10 by 2

for

for循环语句格式如下,其中,“变量<-表达式”被称为生成器(generator)

for (变量<-表达式) 语句块
上一篇下一篇

猜你喜欢

热点阅读