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

scala学习第三章数组相关操作

时间:2015-08-19 20:25:30      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:scala

  val b = new ArrayBuffer[Int]()  //或者 new ArrayBuffer[Int]

  b += 1 //ArrayBuffer(1) 用+= 在尾端添加元素

  b += (1,2,3,5) //ArrayBuffer(1,1,2,3,5)  在尾端添加多个元素

  b ++= Array(1,2,3) //ArrayBuffer(1,1,2,3,5,1,2,3) 在尾端追加集合 用++=

  b.trimEnd(5)  //ArrayBuffer(1,1,2)  移除最后5个元素

  b.insert(2,6) //ArrayBuffer(1,1,6,2) 在下标2之前插入

  b.insert(2,7,8,9) //ArrayBuffer(1,1,7,8,9,6,2) 在下标2之前插入多个元素

  b.remove(2) //ArrayBuffer(1,1,8,9,6,2)

  b.remove(2,3) //ArrayBuffer(1,1,2) 第二个参数的含义是要移除多少个元素

  /*
   *移除数组除除第一个负数之外的所有负数
   */
  var list = ArrayBuffer(1,3,-3,-5,-7,3,2)
  var first = true
  //收集元素为负数的下标
  val indexs = for( i <- 0 until list.length if first || list(i) >= 0) yield {
    if(list(i) < 0) first = false
    i
  }

  //把为正数的元素移到到该去的位置,并且截断
  for(j <- 0 until indexs.length) list(j) = list(indexs(j))
  list.trimEnd(list.length - indexs.length)   //只有ArrayBuffer才可以用trimEnd


sorted方法将数组或者数组缓冲排序并返回经过排序的数组或数组缓冲,该方法不会修改原始数组
  val a = ArrayBuffer(1,7,2,9)
  val aSorted = a.sorted<span style="white-space:pre">		</span>//a并没有改变

多维数组

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

可以创建不规则的数组

val triangle = new Array[Array[Int]](10)
for(i <- 0 until triangle.length)
	triangle(i) = new Array[Int](i + 1)


版权声明:本文为博主原创文章,未经博主允许不得转载。

scala学习第三章数组相关操作

标签:scala

原文地址:http://blog.csdn.net/u012762573/article/details/47786181

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