遍歷
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
// 正確遍歷數(shù)組的姿勢(shì)
scala> for(i<- intArray){println(i)}
1
2
3
//倒敘遍歷
scala> for(i<- (0 until intArray.length).reverse){println(intArray(i))}
3
2
1
轉(zhuǎn)換
Scala 中 for 循環(huán)是有返回值的。 for 循環(huán)中的 yield 會(huì)把當(dāng)前的元素記下來(lái),保存在集合中,循環(huán)結(jié)束后將返回該集合。
// 生成新的數(shù)組原數(shù)組不變
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)
// 加入過(guò)濾條件
scala> var intArray2=for(i<-intArray if i>2) yield i*2
intArray2: Array[Int] = Array(6)
常規(guī)用法
//求和
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>