ArrayBuffer

在Scala中,如果需要类似于Java中的ArrayList这种长度可变的集合类,则可以使用ArrayBuffer。

// 如果不想每次都使用全限定名,则可以预先导入ArrayBuffer类

import scala.collection.mutable.ArrayBuffer

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

val b = ArrayBuffer[Int]()

// 使用+=操作符,可以添加一个元素,或者多个元素

// 这个语法必须要谨记在心!因为spark源码里大量使用了这种集合操作语法!

b += 1

b += (2, 3, 4, 5)

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

b ++= Array(6, 7, 8, 9, 10)

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

b.trimEnd(5)

// 使用insert()函数可以在指定位置插入元素

// 但是这种操作效率很低,因为需要移动指定位置后的所有元素

b.insert(5, 6)

b.insert(6, 7, 8, 9, 10)

// 使用remove()函数可以移除指定位置的元素

b.remove(1)

b.remove(1, 3)

// Array与ArrayBuffer可以互相进行转换

b.toArray

a.toBuffer

遍历Array和ArrayBuffer

// 使用for循环和until遍历Array / ArrayBuffer

// 使until是RichInt提供的函数

for (i <- 0 until b.length)

println(b(i))

// 跳跃遍历Array / ArrayBuffer

for(i <- 0 until (b.length, 2))

println(b(i))

// 从尾部遍历Array / ArrayBuffer

for(i <- (0 until b.length).reverse)

println(b(i))

// 使用“增强for循环”遍历Array / ArrayBuffer

for (e <- b)

println(e)

数组常见操作

// 数组元素求和

val a = Array(1, 2, 3, 4, 5)

val sum = a.sum

// 获取数组最大值

val max = a.max

// 对数组进行排序

scala.util.Sorting.quickSort(a)

// 获取数组中所有元素内容

a.mkString

a.mkString(", ")

a.mkString("<", ",", ">")

// toString函数

a.toString

b.toString

最新文章

  1. 巧用CSS3伪类选择器自定义checkbox和radio的样式
  2. 详解SVN 的使用
  3. Mysql新增用户,权限管理
  4. 2016-03-12 Leanning Plan
  5. RecyclerView的使用
  6. view视图文件中的input等输入框必须含有name属性,不然控制器里的动作formCollection是没有值的
  7. 重要的事情说三遍:列表 ul / ol 等是块级元素,是块级元素,块级元素
  8. 图像处理控件ImageGear for .NET教程如何为应用程序 添加DICOM功能(2)
  9. Mysql的管理及使用
  10. debian 安装jdk
  11. Hive与Hbase整合
  12. java使用selenium版本不兼容解决汇总
  13. Python——FTP上传和下载
  14. 年底Android面试整理(附答案)
  15. git之sourceTree使用github和码云的代码小结
  16. Associative Containers
  17. JS基础篇-- body.scrollTop与documentElement.scrollTop
  18. vue-cli静态资源处理
  19. 淘宝 NPM 镜像
  20. PL/SQL轻量版(二)——基本语法

热门文章

  1. 判读是不是对象字面量(纯对象)。对象字面量创建方式有{}、new Object()创建
  2. SELECT语句基础
  3. linux部署django项目流程(全)
  4. sqlalchemy相关操作(ORM)
  5. k8s krew 插件管理工具
  6. Nginx 高级配置-自定义json格式日志
  7. 性能测试基础---jmeter函数二次开发
  8. JDK1.8 LocalDate 使用方式;LocalDate 封装Util,LocalDate工具类(一)
  9. 安装Vyos
  10. AJAX异步更改数据库