3.scala容器

(2) 数组缓冲(ArrayBuffer)
数组缓冲是一种可变的数组,类似于Java中的ArrayList,但是ArrayBuffer提供了非常丰富的api

//声明
import scala.collection.multable.ArrayBuffer
val buf = new ArrayBuffer[Int]()

//添加单个元素
buf += 1

//添加多个元素
buf ++= (2,3,4)

//追加一个数组
buf ++= Array(5,6,7)

更多操作可以参考API文档

(3)数组的高级API

//数组内元素求和
Array(1,3,5).sum
//取最大值
Array(1,2,4).max
//排序
val newArray = Array(3,2,5,7,1).sortWith(_>_)

可以自定义排序方法,或者使用scala提供的排序方法,如:

val a = Array(3,2,5,7,1)
//使用快排
scala.util.Sorting.quickSort(a) //不会产生新的数组,原来数组中的元素位置改变

注意:ArrayBuffer不能排序,因为数组缓冲中的元素个数不确定。

(4)与Java互操作
java.util.List转化为scalaArrayBuffer:import scala.collection.JavaConversions.asScalaBuffer
ArrayBuffer转java List: import scala.collection.JavaConversions.bufferAsJavaList

3.2映射

scala中映射也分可变映射和不可变映射。

//创建一个不可变映射
val rank = Map("zs" -> 3,"ls" -> 4)

//创建一个可变的映射,两种方法
val rank = scala.collection.multable.Map("zs" -> 3,"ls" -> 4)
val rank  = new scala.collection.multable.Map[String,Int]()

//添加删除元素
rank +=("ww" -> 5,"zl" -> 6)
rank -= "ww"

//更新可变映射
rank("zs") = 30 

//迭代映射
for((k,v) <- map){ some code}

3.3元组

元组是一种能存放不同数据类型的容器,一般声明如下:

//声明
val tuple = (11.11,12,"bb")

//遍历
tuple.foreach{}

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-09-17
  • 2022-01-12
  • 2021-05-20
  • 2022-12-23
  • 2021-11-24
  • 2021-07-24
猜你喜欢
  • 2021-12-31
  • 2021-12-17
  • 2021-09-09
  • 2021-12-14
  • 2021-05-16
  • 2021-08-18
  • 2021-12-14
相关资源
相似解决方案