Scala快学(3) 数组相关操作
来源:互联网 发布:免费视频制作软件知乎 编辑:程序博客网 时间:2024/05/23 19:19
1. 定长数组的定义与操作
// 定义val nums = new Array[Int](10)val strs = Array("Hello","World")// 操作nums(0) = 10strs(1) = "Ass"// 定长数组转换为变长数组// nums变为ArrayBuffer类型nums.toBuffer
2. 变长数组的定义与操作
// 定义val b = ArrayBuffer[Int]()val bb = ArrayBuffer[Int]// 末尾添加元素b += 1b += (1,2,3,4,5)// ++=操作追加任意集合b ++= Array(1,2,3,4,5)// 移除末尾元素b.trimEnd(5)// insert与remove操作// 第一个数字都表示下标,从0开始计数b.insert(2,6,7)b.remove(2,2)// 变长数组转换成定长数组// b代表的变量就会变为Array类型b.toArray()
3. 多维数组
// 可以通过ofDim方法matrix = Array.ofDim[Double](3,4)matrix = Array.ofDim[Double](3,4,5)// 传统方式,可以创建不规则数组matrix = Array[Array[Double]](10)for( i <- 0 until 10 ) matrix(i) = new Array[Int](i+1)
4. TIPS
// 为了实现类似Java中for(int i = 0 ; i < 10 ; i += 2)的功能for( i <- 0 until (10,2) ) println(i)// 数组转换// 1. 使用for推导式,即yieldval results = for(i <- 0 to 10 ) yield i// 2. 函数式编程a.filter( _%2==0).map(2*_)//常用算法// 求和,只能对整型、浮点型、BigInteger、BigDecimal进行求和val sum = Array(1,2,3,4,5).sum// 排序,会新生成一个排序结果,不会对原有数组排序// 以下结果,c还是未排序,d已经排序完成val c = Array(1,5,2,4,6)val d = c.sorted// 显示或缓存内容a.mkString(" and ")a.mkString("<", ",", ">")
0 0
- Scala快学(3) 数组相关操作
- 《快学Scala》第3章 数组相关操作 练习
- 快学Scala第3章--数组相关操作
- 快学scala之数组操作
- 快学Scala习题解答—第三章 数组相关操作
- 快学Scala习题解答—第三章 数组相关操作
- 快学Scala习题解答—第三章 数组相关操作
- 快学Scala习题解答—第三章 数组相关操作
- 快学Scala-数组、映射
- 《快学Scala》习题详解 第3章 数组
- scala --数组相关操作
- 快学scala:笔记3
- 快学scala之List操作
- Scala详解---------数组相关操作
- Scala数组相关的操作
- 快学Scala
- 《快学scala》代码
- 快学scala笔记.
- diff/sort/uniq/awk/vi
- iOS 切换视图,求助!!!
- 循环中的闭包
- 【不定期更新】一些简单的Rust程序
- AD使用总结4——PCB天线知识
- Scala快学(3) 数组相关操作
- [Leetcode]382. Linked List Random Node
- RabbitMQ 队列镜像配置 主机 挂掉 之后 自动切换 另一台
- IQKeyboardManager的使用笔记
- 如何做缓存
- C语言-倒计时操作操作
- Java多线程之死锁
- OpenStack CDNaaS - Poppy介绍
- Android子线程中更新UI的方法