1.数组操作

  1.定长数组:val nums = new Array[Int](10)

        val s=Array("tom","lisi")

    *在jvm中,Scala的Array以java数组的方式实现。

  2.变长数组(数组缓冲):ArrayBuffer

      val b=ArrayBuffer[Int]()

    1.基本操作:

      1.在尾部添加元素  b+=1

      2.在尾部添加多个元素 b+=(2,3,4)

      3.在尾部添加集合 b++=Array(2,5,6)

      4.在指定位置插入元素 b.insert(2,4,5,6)    //在坐标为2的位置添加4,5,6

      5.移除指定位置的元素 b.remove(2)    //移除坐标为2的元素

      6.移除指定位置后的若干元素 b.remove(2,4)  //移除从坐标为2开始的4个元素

      7.移除末尾的若干元素  b.trimEnd(4)    //移除末尾的4个元素

    2.数组的遍历

      1.for(i <- 0 until 数组.length) println(数组(i))

       for(i <- 0 until (数组.length,步长)) println(数组(i))

       for(i <- 0 until (数组.length,步长) reverse) println(数组(i))

      2.for(元素 <- 数组) println(元素)

    3.数组转换

      1.for推导式:for(元素 <- 数组) yield 对元素的处理     //返回元素处理后的数组

      2.守卫(for中的if实现):for(元素  <- 数组 if 元素满足的条件) yield 对满足条件的元素的处理     //返回对满足条件的元素处理后的数组

        *可以通过 数组.filter(_%2==2).map(3*_)     //_代表元素,返回对满足条件的元素处理后的数组

    4.常用算法

      1.数组.sum     //求和

      2.数组.max  //求最大值或最长的值

      3.数组.sorted(_>_)  降序    数组.sorted(_<_)  升序   //返回经过排序后的数组或数组缓冲

      4.scala.util.Sorting.quickSort(数组)    //只能是数组不能是数组缓冲,对原数组直接排序

      5.数组.mkString(连接符)     //将数组中的元素通过指定的连接符连接成一个字符串

      6.数组.mkString(前缀,连接符,后缀)    //返回带有前后缀的通过连接符连接成的字符串

    5.多维数组

      val m=Array.ofDim[Int](3,4)   //创建一个3行4列的二维数组

      val t=new Array[Array[Int]](10)   //创建一个10行的数组

      数组(行)(列)

    6.ArrayBuffer和java中的list相关转换

      

      

02scala基础的更多相关文章

  1. java基础集合经典训练题

    第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...

  2. node-webkit 环境搭建与基础demo

    首先去github上面下载(地址),具体更具自己的系统,我的是windows,这里只给出windows的做法 下载windows x64版本 下载之后解压,得到以下东西 为了方便,我们直接在这个目录中 ...

  3. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  4. Golang, 以17个简短代码片段,切底弄懂 channel 基础

    (原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的IM服务器,所以复习了下之前一直没怎么使用的协程.管道等高并发编程知识 ...

  5. [C#] C# 基础回顾 - 匿名方法

    C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...

  6. HTTPS 互联网世界的安全基础

    近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是 ...

  7. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

  8. .NetCore MVC中的路由(1)路由配置基础

    .NetCore MVC中的路由(1)路由配置基础 0x00 路由在MVC中起到的作用 前段时间一直忙于别的事情,终于搞定了继续学习.NetCore.这次学习的主题是MVC中的路由.路由是所有MVC框 ...

  9. .NET基础拾遗(5)多线程开发基础

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...

随机推荐

  1. IMapDocument interface

      Provides access to members that control the reading and writing of map document files.(提供访问的成员,控制读 ...

  2. IntelliJ IDEA 14注册码

    User:xring Key:21423-V4P36-U7W8K-8CYUK-93HXA-MKGZ5 User:arix Key:52998-LJT74-J7YEX-UPVT3-Q5GUF-5G4B5 ...

  3. Uploadify在MVC中使用方法案例(一个视图多次上传单张图片)

    Controller 中代码和 上一节文章(http://www.cnblogs.com/yechangzhong-826217795/p/3785842.html )一样 视图中代码如下: < ...

  4. CSS3 Transform Matrix

    css3中的transform让我们操作变形变得很简单,诸如,translate–移动,scale–缩放,rotate–旋转,skew–斜切.这几个属性很方便,也很简单,但是其中matrix我们就不常 ...

  5. 安装交叉编译器arm-linux-gcc

    需要交叉编译环境故安装交叉编译环境    1.在宿主机的/usr/local/arm目录存放交叉编译器        mkdir /usr/local/arm    2.解压交叉编译器包至/usr/l ...

  6. Azure Deploy

    http://msdn.microsoft.com/en-us/library/dn408531.aspx https://www.windowsazure.com/en-us/documentati ...

  7. 写sql语句分别按日,星期,月,季度,年统计

    --写sql语句分别按日,星期,月,季度,年统计销售额 --按日 ' group by day([date]) --按周quarter ' group by datename(week,[date]) ...

  8. remoting方式

    1. WebService跨平台,跨防火墙,但是很抱歉,基于xml速度慢2. RMI(java)/Remoting(.net)平台相关,基于二进制序列化,速度快.3.dcom(com+)spring提 ...

  9. TI CC254x BLE教程 1

    约定, 第一次翻译这种东西, 专有名词的翻译原则还是不太清楚, 总之涉及有可能误解的词, 都用双语, 如果是简单的, 直接英文或者中文, 取决于我是否能找到中文合适的词来翻译. 何为BLE: 1. 是 ...

  10. javaWeb 使用jsp开发 html过滤标签

    1.jsp调用代码 <t:htmlFilter> <a href="${pageContext.request.contextPath }/index.jsp"& ...