Scala学习第十二弹 数组
来源:互联网 发布:2k18詹姆斯身体数据 编辑:程序博客网 时间:2024/06/07 04:45
定长数组
如果你需要一个长度不变的数组,可以用Scala中的Array,例如:
val sum = new Array [Int] (10)//10个整数的数组,所有元素初始化为0
val s = new Array [String] (10)//10个元素的字符串数组,所有元素初始化为null
val a = Array (“hello”,”scala”)//长度为2的String数组——类型是自己推断出来的,已经有初始值的就不需要new了
a(0)=”hello”//使用( )而不是[ ]来访问元素
变长数组:数组缓冲
对于那些长度需要变化的数组,java里有ArrayList,c++中有vector,Scala中的等效数据结构ArrayBuffer。
val a = ArrayBuffer[Int]()//或者new ArrayBuffer[Int],一个空的自负缓冲,准备存放整数数组
a += 1//ArrayBuffer(1),用+=在数组末端添加元素
a +=(1,2,3,4)//ArrayBuffer(1,1,2,3,4)添加多个元素用括号括起来
a ++=Array(5,6,7)//ArrayBuffer(1,1,2,3,4,5,6,7)用++=操作符追加任何集合
a.trimEnd(5)//ArrayBuffer(1,1,2)移除最后5个元素
在数组缓冲的尾端添加或移除元素是很高效的操作
你可以在任意位置插入或移除元素,但这并不高效,因为之后的每个元素都要进行移动
插入
a.insert(2,6)//ArrayBuffer(1,1,6,2),在下标2之前插入6
a.insert(2,7,8,9)//ArrayBuffer(1,1,7,8,9,6,2)可以插入任意多的元素
移除
a.remove(2)//ArrayBuffer(1,1,8,9,6,2)移除下标2的元素
a.remove(2,3)//ArrayBuffer(1,1,2)//移除从下标2开始的3个元素,第二个参数的含义是要移除多少个元素
有时你需要构建一个Array,但不知最后会装多少元素,就可以利用ArrayBuffer,然后调用a.toArray//Array(1,1,2)
相反你也可以用toBuffer方法将数组转化为数组缓冲
- Scala学习第十二弹 数组
- Scala学习笔记-第十二章高阶函数
- Scala学习第十四弹 数组算法
- Scala学习笔记--数组
- Scala学习七:数组
- Scala学习第十三弹 数组遍历和数组转换
- [Scala]Scala学习笔记二 数组
- scala学习之数组操作
- scala学习(数组,元组)
- scala学习笔记2 数组
- scala学习笔记之数组
- Scala 学习(二)--- 数组
- Scala学习第五天 Scala数组操作实战详解
- Scala学习第五天 Scala数组操作实战详解
- Scala学习笔记08【Scala数组实用操作】
- Scala学习笔记--第4章 Scala数组
- scala学习六: 数组的使用
- 【Scala学习笔记】类型参数化数组
- Leetcode 50. Pow(x, n) (Medium) (cpp)
- c++string类
- js实现瀑布流布局
- 快速排序
- Flask Web 开发 Flask script 扩展功能 Manager
- Scala学习第十二弹 数组
- iOS:KVO的简单使用及其本质
- 区块链开发(二)部署和运行第一个以太坊智能合约
- Java(a)--Java基础程序设计
- Maven基础与私服搭建
- JavaScript DOM 编程艺术 第八章 例子分析
- 指针学习笔记2
- 原生JS获取内嵌,外部css样式,使用style只能直接获取内联style的属性值
- JS中call、apply、bind使用指南