美文网首页
Scala学习第八节:Array的遍历 转换以及 常规用法

Scala学习第八节:Array的遍历 转换以及 常规用法

作者: 牛马风情 | 来源:发表于2017-04-06 06:18 被阅读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>
    

    相关文章

      网友评论

          本文标题:Scala学习第八节:Array的遍历 转换以及 常规用法

          本文链接:https://www.haomeiwen.com/subject/fhsfattx.html