🌺Scala——数组

等长数组——存储固定大小的同类型元素,索引从0开始

一维数组

(1)使用Array声明数组格式

var/val 数组名:Array[元素类型]= new Array[元素类型]()
var/val 数组名= new Array[元素类型]()

例:

copycopyvar/val a:Array:[String]= new Array[String](3)
var/val a= new Array[String](3)

(2)var/val定义数组区别

copycopyvar s= new Array[Int](3)
val t= new Array[Int](3)
###区别:s可以指向其他数组实例空间,t不可以指向其他实例空间——var可以重新赋值,val不可以重新赋值###
s= new Array[Int](5)
t= new Array[Int](5)   ——报错,t的值不能变,但是t指向的数组元素的值可以改变

(2)定义数组时直接初始化

copycopyvar/val 数组名=Array(依次数组元素值,用逗号分隔)

copycopyvar s= Array("Scala","Java","Hadoop")
var a= Array(3,4,5)

(3)引用数组元素——数组名(下标;下标可以是整数的表达式)

copycopyvar a= new Array[Int](3)
  a(0)=5
  a(1)=6
  a(2)=9
  var i= 0
  for(x<- a){
    println("a("+i+")="+x)
    i=i+1
  }

输出:

a(0)=5
a(1)=6
a(2)=9

(4)一维数组合并——concat

copycopyArray.concat()

(5)元素个数

copycopyvar b= Array("hello","world")
println(b.length)

输出:

2


多维数组

定义格式

var/val 数组名= Array.ofDim[数组元素类型] (x1,x2) //二维数组

var/val 数组名= Array.ofDim[数组元素类型] (x1,x2,x3) //三维数组

copycopyvar myArray= Array.ofDim[Int](3,3)

变长数组——scala.collection.mutable.ArrayBuffer

(1)定义格式

a.定义空列表

var/val 变量名:ArrayBuffer[类型]=new ArrayBuffer[类型]()

var/val 变量名 = ArrayBuffer[类型]=()

b.直接初始化

var/val 变量名 = ArrayBuffer[类型]=ArrayBuffer(初始元素列表)

var/val 变量名 = ArrayBuffer(初始元素列表)

(2)常用操作

a.添加元素:+=

copycopyvar a = new ArrayBuffer[Int]()
a+=3

b.添加集合元素:++=

copycopyvar a= new ArrayBuffer[Int]()
a+=3
var b=ArrayBuffer(9,8,7)
a++=Array(4,5,6)
a++=b
println(a)
println(b)

输出:

ArrayBuffer(3, 4, 5, 6, 9, 8, 7)
ArrayBuffer(9, 8, 7)

c.移除元素:-=,.remove(下标)

copycopyvar a=ArrayBuffer(1,2,3,4,5,6,7,8,9)
a-=6
println(a)
a.remove(3)
println(a)

输出:

ArrayBuffer(1, 2, 3, 4, 5, 7, 8, 9)
ArrayBuffer(1, 2, 3, 5, 7, 8, 9)

d.trimEnd(n)——从后面删除n个元素/trimStart(n)——从前面删除n个元素

copycopyvar a=ArrayBuffer(1,2,3,4,5,6,7,8,9)
a.trimEnd(2)
println(a)
a.trimStart(2)
println(a)

输出:

ArrayBuffer(1, 2, 3, 4, 5, 6, 7)
ArrayBuffer(3, 4, 5, 6, 7)

e.添加元素

insert(下标,添加的元素)——从指定下标位置开始,添加元素
copycopyvar a=ArrayBuffer(1,2,3)
a.insert(1,9,8,7,6)
println(a)

输出:

ArrayBuffer(1, 9, 8, 7, 6, 2, 3)

insertAll(下标,集合变量)——从指定下标位置开始,添加所有集合元素
copycopyvar a= ArrayBuffer(1,2,3)
var b= ArrayBuffer(7,8,9)
a.insertAll(1,b)
println(a)

输出:

ArrayBuffer(1, 7, 8, 9, 2, 3)

posted @   就薛就薛  阅读(56)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
点击右上角即可分享
微信分享提示