scala中arraybuffer 与array有啥区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala中arraybuffer 与array有啥区别相关的知识,希望对你有一定的参考价值。

差异比较明显 Array是定长的,按照文档说明为: Array[T] is Scala's representation for Java's T[]. Array存在下标越界访问的风险 而List是变长的 从效率上看,按下标访问Array快,List慢。 在头部插入,Array慢,List快。 参考技术A scala中actor是简单版本的actor实现akka是另一个独立的actor, 比scala自带的强大的多, 当然也是scala写的

4scala数组

1、Array

2、ArrayBuffer

3、遍历Array和ArrayBuffer

4、数组常见操作

1、  Array

  Scala中,array代表的含义与java类似,也是长度不可改变的数组。由于scala与java都是运行在jvm中,双方可以相互调用,scala数组的底层实现实际上是java数组。

  技术分享图片

2、ArrayBuffer

  Scala中,如果需要长度可变的集合类,可以使用ArrayBuffer。使用前需要导入 scala.collection.mutable.ArrayBuffer。

  创建一个空的ArrayBuffer:val b=ArrayBuffer[Int]()

  添加一个元素,使用+=   b+=1  b+=(2,3,4,5)

  添加其他集合中的所有元素  b++=Array(6,7,8)

  从尾部截断指定个数的元素  b.trimEnd(5)

  指定位置插入元素  b.insert(0,9,10)

  移除指定位置的元素b.remove(1,3)

  Array和ArrayBuffer相互转换  b.toArray  a.toBuffer

  技术分享图片

3、遍历Array和ArrayBuffer

  使用for循环和until遍历

  技术分享图片

  跳跃遍历

  技术分享图片

  尾部遍历

  技术分享图片

  使用“增强for循环”遍历

  技术分享图片

4、数组常见操作

  数组元素求和     a.sum

  获取最大值    a.max

  对数组排序    scala.util.Sorting.quickSort(a)

  获取数组中所有元素内容  a.mkString  a.mkString(“,”)  a.mkString(“(”,”,”,”)”)

  toString函数    a.toString

  技术分享图片

以上是关于scala中arraybuffer 与array有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

scala arraybuffer的数据怎么插入数据库

scala学习笔记-数组转换

scala言语基础学习

Scala Spark - 调用 createDataFrame 时获取重载方法

Scala 数组操作之数组转换

Scala中的集合类型