Array

在scala中,Array代表的含义与Java类似,也是长度不可变的数组,此外

由于Java和scala都是运行在JVM中,双方可以互相调用,因此scala的底层

实际上是Java数组,例如字符串的数组在底层实际上就是Java的 String [] 数组

整数数组在底层实际上是Java的int []

数组初始化后,长度就固定下来了,而且元素全部根据其类型初始化

可以直接使用Array()创建数组,元素类型自动推断

获取数组内的值

当数组内的元素类型不一致时,scala自动推断数组类型为Any

ArrayBuffer

在scala中,如需要像Java中ArrayList这种长度可变的集合类,则可以使用ArrayBuffer

ArrayBuffer类不能直接使用,使用之前需要先导入ArrayBuffer类

使用ArrayBuffer的方式可以创建一个空的ArrayBuffer

使用+=操作符,可以添加一个元素或者多个元素,这个方法在Spark源码中大量使用

使用++=操作符可以添加其他集合中的所有元素

运行结果:

使用trimEnd,可以从尾部截断指定个数的元素,b.trimEnd(5),

运行结果:

使用b.insert(3,5) 在指定位置插入元素

运行结果:

Array与ArrayBuffer互相转换

运行结果:

遍历Array和ArrayBuffer

用for循环和until遍历Array和Arraybuffer

Until是RichInt提供的函数

跳跃遍历Array和Arraybuffer

从尾部遍历Array和Arraybuffer

使用增强for循环遍历Array和ArrayBuffer

数组常见操作

数组元素求和

获取数组最大值

对数组进行排序

获取数组中所有元素内容

数组转换

对Array进行转换,获取的还是Array,对一个数组求平方,用yield

对ArrayBuffer进行转换,获取的还是ArrayBuffer

结合if守卫仅转换需要的元素

使用函数式编程转换数组,filter过滤出这个数组中除2等于0的,然后map成另一个数组,将过滤出的数乘以2

算法案例:移出第一个负数之后所有的负数

构建数组,每发现第一个负数之后的负数就移出掉

Val a =ArrayBuffer[Int]()

a += (1,2,3,4,5,-1.-3.-5,-7)

运行结果:

算法案例:移出第一个负数之后所有的负数

遍历ArrayArrayBuffer

遍历ArrayArrayBuffer

Spark学习(6)——scala数组操作相关推荐

  1. Spark 第三讲 Scala数组与函数基础

    一. 常见数据类型 Byte 8位有符号补码整数.数值区间为 -128 到 127 Short 16位有符号补码整数.数值区间为 -32768 到 32767 Int 32位有符号补码整数.数值区间为 ...

  2. python运算学习之Numpy ------ 数组操作:连接数组、拆分数组 、广播机制、结构化数组、文件贮存与读写、np.where、数组去重...

    数组的连接: 1 # 连接数组 2 A = np.zeros((3, 4)) 3 B = np.ones_like(A) 4 print(A, "\n-------分割符--------\n ...

  3. scala学习之数组操作

    scala 数组分为定长数组(Array)和变长数组(ArrayBuffer): 定长数组: /*** 定长数组*/val array = new Array[Int](10) //定长数组 长度为1 ...

  4. Spark学习笔记[1]-scala环境安装与基本语法

    Spark学习笔记[1]-scala环境安装与基本语法   正所谓工欲善其事必先利其器,Spark的开发语言不是java而是scala,虽然都是运行于JVM,但是两门语言的基本特性还是有些不一样,这里 ...

  5. Scala学习笔记-方便查找使用 为Spark学习打基础

    Scala学习 注意 伊始 为什么是Scala 网课 环境 电脑环境安装 关于版本的声明 我的环境和版本 IDEA插件安装 IDEA关联Scala源码 基础部分1 文档注释和生成 字符串的三种输出 变 ...

  6. Apache Spark学习:利用Scala语言开发Spark应用程序

    Spark内核是由Scala语言开发的,因此使用Scala语言开发Spark应用程序是自然而然的事情.如果你对Scala语言还不太熟悉,可以阅读网络教程 A Scala Tutorial for Ja ...

  7. Scala与Java差异(四)之数组操作

    一.数组操作之Array.ArrayBuffer以及遍历数组 (1)Array 在Scala中,Array代表的含义与Java中类似,也是长度不可改变的数组.此外,由于Scala与Java都是运行在J ...

  8. SPARK学习之 --- eclipse / sbt / scala 配置

    为什么80%的码农都做不了架构师?>>>    工作以及兴趣所致,开始了spark学习之旅,浏览网上大牛们的博客 文章,并且结合官网docs,刚开始云里雾里,现在也能雾里看到点花了. ...

  9. Java学习笔记(四):数组操作

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://mp.csdn.net/mdeditor/100728414 目录 ...

最新文章

  1. 深度学习中的3个秘密:集成、知识蒸馏和蒸馏
  2. LAMP环境搭建之rpm软件包
  3. 《裂变》作者爆料:欺世盗名者绝非唐骏一人
  4. 转Delphi中Create(nil),Create(self),Create(Application)区别
  5. hoj2434 going to know him
  6. spring boot中的注解
  7. 20200209:匹配子序列的单词数(leetcode792)
  8. word 2016 for Mac 如何缩小编号与后面文字之间的缩进间隙
  9. 两台服务器安装redis集群_两台服务器六节点redis集群环境搭建
  10. 上传,修改头像的使用
  11. 神经网络反向传播算法及代码实现
  12. skiplist及Java实现
  13. Office 365开启现代工作方式!协同工作保持高效率!
  14. 【WPS自动签到】利用云函数实现WPS自动签到获得WPS免费会员
  15. 苹果系统python读取文件_python中文件的读取与写入以及os模块
  16. 知名游戏设计师的 GitHub 仓库被删,CEO 道歉;工信部向四家公司发放 5G 牌照
  17. 英文文本大小写的转换
  18. 用于深度神经网络的语音信号预处理
  19. 基于vue的组织架构树组件_Vue组件基于D3.js布局显示树
  20. https://blog.csdn.net/xm_csdn/article/details/74419683

热门文章

  1. win10电脑硬盘出现黄三角感叹号的解决方法
  2. GitLab报错502——Whoops, GitLab is taking too much time to respond 502 错误
  3. 做站赚钱的个人实战经验
  4. IDEA中给项目添加依赖的jar包
  5. 用3D技术实现2D场景
  6. Photoshop2023常用快捷键和使用技巧(作为备忘)
  7. 修改oracle字段小数点精度,修改小数点位数
  8. listview的分类,仿京东分类
  9. 一级计算机考试规则,计算机一级考试考场规则及考生注意事项
  10. [转贴]付费空间投诉、空间骗子大曝光,大家来看看黑名单