Scala学习第十三弹 数组遍历和数组转换
2016-08-19 15:04
302 查看
数组遍历
可以利用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集合中的偶数元素进行翻倍吗,并丢弃奇数元素
注意:结果是一个新的数组,原有数组并没有受到影响
可以利用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学习笔记之 --- Array、ArrayBuffer以及遍历数组(1)
- Java数组学习--数组与ArrayList转换
- Spark学习使用笔记 - Scala篇(2)- 数组
- C#学习之byte数组与结构体之间的转换
- java学习-数组遍历
- c++ 模板学习笔记:函数模板实现数组通用排序和遍历打印(权哥)
- 算法学习(5)----二叉树前序、中序、后序遍历互相转换
- PHP使用iconv函数遍历数组转换字符集
- scala学习之数组操作
- scala学习笔记(三)数组
- Scala学习教程笔记一之基础语法,条件控制,循环控制,函数,数组,集合
- Scala学习整理[第二十-二十一章 抽象成员和隐式转换]<Programming In Scala>
- scala学习(数组,元组)
- php学习笔记------[数组遍历]
- LINQ 学习笔记-字符串数组与整数数组之间的转换,排序
- 数组的学习,概念的抽象记忆法,定义,遍历元素和输出
- Scala学习笔记-数组相关操作
- php学习笔记 数组遍历实现代码
- [oc学习笔记]数组的遍历和排序
- scala学习笔记2 数组