Scala学习第十三弹 数组遍历和数组转换
来源:互联网 发布:饥荒海难数据修改 编辑:程序博客网 时间:2024/06/06 16:48
数组遍历
可以利用for循环来遍历数组或者数组缓冲
for(i <- o to until a.length)//变量i的取值范围是0到a.length -1
until是RichInt类的方法,返回所有小于(但不包括)上限的数字
例如:0 until 5 //Range(0,1,2,3,4)
注意:0 until 5实际上是一个方法调用0.until(5)
如下结构:
for(i< 区间)会让i遍历该区间的所有值
但如果想要每两个元素一跳,可以这样遍历:
0 until (a.length,2)//后面参数就是几个元素一跳
如果想要从尾部开始遍历:
(0 until a.length).reverse
如果不需要数组下表的话,可以使用下面的方式:
for(elem <- a) println(elem)//elem会先辈设定成a(0),然后a(1)······
数组转换
在Scala中可以很方便的进行数组的转换,从一个数组(或数组缓冲)出发,对其进行某种转换是很简单的,这些转换动作并不会改变原有数组,而是会产生一个新的数组。
像这样使用for的推导式:
val a = Array(1,2,3,4)
val b = for(elem <-a) yield 2 * elem//得到的是:b=Array(2,4,6,8)
for (······) yield循环创建了一个与原始数组类型相同的新数组,同样重数组缓冲出发,得到的是数组缓冲,结果包括yield后面的表达式的值,每次迭代对应一个。
通常,在遍历一个集合时,如果只想处理数组中特定的元素,可以通过守位(if)进行实现,例如:
for(elem <-a if elem % 2 ==0 )yield 2 * elem
//对a集合中的偶数元素进行翻倍吗,并丢弃奇数元素
注意:结果是一个新的数组,原有数组并没有受到影响
- Scala学习第十三弹 数组遍历和数组转换
- Scala学习第十二弹 数组
- scala 数组和数组缓冲
- Scala数组,定长数组和变长数组,增强for循环,until用法,数组转换,数组常用算法,数组其它操作
- Scala学习笔记--数组
- Scala学习七:数组
- Scala学习第十四弹 数组算法
- unity3d学习之数组和遍历器
- 创建数组和遍历数组
- Scala中for循环逆序遍历数组
- 学习笔记——数组的操作和遍历数组
- [Scala]Scala学习笔记二 数组
- Scala学习第五天:数组的基本操作,数组的进阶操作和多维数组
- scala学习之数组操作
- scala学习(数组,元组)
- scala学习笔记2 数组
- scala学习笔记之数组
- Scala 学习(二)--- 数组
- keil MDK 中使用虚拟串口调试串口
- POJ 3273 Monthly Expense 最大值最小 二分法
- java中thread的start()和run()有何区别?
- Windows 7及以上操作系统无法访问网络位置的问题
- hdu 1159 Common Subsequence
- Scala学习第十三弹 数组遍历和数组转换
- 线程结束的方式
- Android和JS交互使用总结
- 错排问题
- 图结构练习——最小生成树
- 判断某程序是64位还是32位
- C++笔记(1)explicit构造函数
- VL01N的 BAPI_OUTB_DELIVERY_CREATE_SLS
- PHP如何在同一张图片上动态P上二维码