Scala学习第八节:Array的遍历 转换以及 常规用法
2017-04-06 本文已影响0人
牛马风情
遍历
scala> var intArray=Array(1,2,3)
intArray: Array[Int] = Array(1, 2, 3)
// to length-1
scala> for(i<- 0 to intArray.length-1){println(intArray(i))}
1
2
3
// until 小于length
scala> for(i<- 0 until intArray.length){println(intArray(i))}
1
2
3
// 正确遍历数组的姿势
scala> for(i<- intArray){println(i)}
1
2
3
//倒叙遍历
scala> for(i<- (0 until intArray.length).reverse){println(intArray(i))}
3
2
1
转换
Scala 中 for 循环是有返回值的。 for 循环中的 yield 会把当前的元素记下来,保存在集合中,循环结束后将返回该集合。
// 生成新的数组原数组不变
scala> var intArray=Array(1,2,3)
intArray: Array[Int] = Array(1, 2, 3)
scala> for(i<-intArray) yield i*2
res6: Array[Int] = Array(2, 4, 6)
scala> intArray
res7: Array[Int] = Array(1, 2, 3)
scala> var intArray2=for(i<-intArray) yield i*2
intArray2: Array[Int] = Array(2, 4, 6)
// 加入过滤条件
scala> var intArray2=for(i<-intArray if i>2) yield i*2
intArray2: Array[Int] = Array(6)
常规用法
//求和
scala> intArray.sum
res8: Int = 6
//求最小值
scala> intArray.min
res9: Int = 1
//求最大值
scala> intArray.max
res10: Int = 3
// make String
scala> intArray.mkString(",")
res11: String = 1,2,3
scala> intArray.mkString("<",",",">")
res12: String = <1,2,3>