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