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)

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

时间: 2024-10-16 08:28:13

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

快学Scala习题解答—第三章 数组相关操作

3 数组相关操作 3.1 编写一段代码,将a设置为一个n个随机整数的数组,要求随机数介于0(包含)和n(不包含)之间 random和yield的使用 Scala代码   import scala.math.random def randomArray(n:Int)={ for(i <- 0 until n) yield (random * n).toInt } println(randomArray(10).mkString(",")) 3.2 编写一个循环,将整数数组中相邻的元

快学Scala-第三章 数组相关操作

知识点: 1.定长数组 Array val nums = new Array[Int](10) //10个整数的数组,所有元素初始化为0 val a = new Array[String](10) //10个元素的字符串数组,所有元素初始化为null val s= Array("Hello","World") //长度为2的Array(String) 类型是编译器推断出来的,已提供初始值就不需要new s(0) = "Goodbye" //Arr

scala 入门(2)--数组相关操作

scala 无论从数组的定义还是操作方面来说都跟java非常相似,但又有其独特的强大之处… 1. 定长数组 对于长度不变的数组,可以用scala中的Array. //scala 里使用new实例化对象. 实例化过程中,可以用值和类型使对象参数化(创建对象的同时完成对它的设置) val nums = new Array[Int](5); //含5个整数的数组,元素默认初始化为0: val arr = new Array[String](10);  //含10个字符串的数组,元素默认初始化为null

Scala学习(三)----数组相关操作

数组相关操作 摘要: 本篇主要学习如何在Scala中操作数组.Java和C++程序员通常会选用数组或近似的结构(比如数组列表或向量)来收集一组元素.在Scala中,我们的选择更多,不过现在我们先假定不关心其他选择,而只是想马上开始用数组.本篇的要点包括: 1. 若长度固定则使用Array,若长度可能有变化则使用ArrayBuffer 2. 提供初始值时不要使用new 3. 用()来访问元素 4. 用for (elem<-arr)来遍历元素 5. 用for (elem<-arr if…)…yie

Scala详解---------数组相关操作

Scala中提供了一种数据结构-数组,其中存储相同类型的元素的固定大小的连续集合.数组用于存储数据的集合,但它往往是更加有用认为数组作为相同类型的变量的集合. 取替声明单个变量,如number0, number1, ..., 和number99,声明一个数组变量,如号码和使用numbers[0],numbers[1],...,numbers[99]表示单个变量.本教程介绍了如何声明数组变量,创建数组和使用索引的过程变量数组.数组的第一个元素的索引是数字0和最后一个元素的索引为元素的总数减去1.

从零学scala(二)数组相关操作、映射和元组

一:数组相关操作 定长数组 val array = Array[String]("a","b","c") //直接初始化数组的内容        println(array.mkString("|")) val array = new Array[String](2) //new一个长度为2的数据在通过更新的方法进行赋值        array.update(0, "0")        array.up

紫书第三章 数组和字符串

1  序 系统的整理下第三章的学习笔记.例题代码是在未看书本方法前自己尝试并AC的代码,不一定比书上的标程好:习题除了3-8百度了求解方法,其它均独立完成后,会适当查阅网上资料进行整理总结.希望本博文方便自己日后复习的同时,也能给他人带来点有益的帮助(建议配合紫书--<算法竞赛入门经典(第2版)>阅读本博客).有不足或错误之处,欢迎读者指出. 2  例题 2.1  UVa272--Tex Quotes #include <stdio.h> int main() { bool log

oracle学习 第三章 常用的SQL*PLUS命令 ——02

今天接着昨天的RUN命令继续讲. 3.5 n(设置当前行)命令和A(PPEND)(附加)命令 设想,你输入了例3-10的查询语句 例 3-10 SQL> SELECT ename 2 FROM emp; 例 3-10 结果 看到以上输出时,您发现在SELECT子句中忘了job,sal.这时您又如何修改您的SELECT子句呢?首先您应该使用SQL*PLUS的L(LIST)命令来显示SQL缓冲中的内容. 例 3-11 SQL> L 例 3-11 结果 在例3-11显示的结果中,2后面的"

《Linux Shell脚本攻略》 笔记 第三章:文件操作

<Linux Shell脚本攻略> 笔记 第三章:文件操作 1.生产任意大小的文件 [[email protected] dd_test]# [[email protected] dd_test]# dd if=/dev/zero of=junk.data bs=1k count=10 10+0 records in 10+0 records out 10240 bytes (10 kB) copied, 0.00137023 s, 7.5 MB/s 2.文件系统相关测试 [ -f $file