数组相关操作

1.定长数组

  • 如果需要一个长度不变的数组,可以用Scala中的Array。

    val nums = new Array[Int] (10)    //10个整数的数组,所有元素初始化为0

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

    s(0) = “Goodbye”          //Array(“GOODbye”,“World”)

 2.变长数组:数组缓冲

  对于那种长度按需要变化的数组,Java有ArrayList,C++有vector。Scala中的等效数据结构为ArrayBuffer。

  • val b = ArrayBuffer[Int]()  //或者 new ArrayBuffer[Int], 一个空的数组缓冲,准备存放整数
  • b += 1  //ArrayBuffer(1),用+=在尾端添加元素
  • b ++= (1,2,3,5)  //ArrayBuffer(1,1,2,3,5),用+=在尾端添加元素
  • b ++= ArrayBuffer(8,13,21)  //ArrayBuffer(1,1,2,3,5,8,13,21),用可以++=操作符追加任何集合

3.遍历数组和数组缓冲

  • for循环遍历数组或数组缓冲的语法

    for(i <- 0 unitl a.length)

  • 如果想要每两个元素一条,可以让i这样来进行遍历:

    0 until (a.length, 2)  //Range(0,2,4)

  • 如果从数组的尾部开始,遍历的写法为:

    (0 until a.length).reverse  //Range(...,2,1,0)

  • 如果在循环体中不需要用到数组下标,也可以直接访问数组元素

    for (ele <-a) println(elem)

posted @ 2017-11-04 11:26  xiagte  阅读(129)  评论(0编辑  收藏  举报