zoukankan      html  css  js  c++  java
  • Scala 知识点掌握2

    Scala 基础知识点巩固2

    1、集合中常用的函数

    sum / max / min

    # 定义一个List[Int]
    val list1 = List(1,3,4,6,8,9)
    # 取集合中所有元素的和
    list1.sum
    # 取集合中所有元素的最大值
    list1.max
    # 取集合中所有元素的最小值
    list1.min
    2、集合中的其它函数
    • 条件过滤函数 filter(过滤条件表达式)

    # 如取出list1中的偶数
    list1.filter(e => e%2 == 0)
    • 对嵌套集合压平操作 flatten

    # 嵌套集合
    val list2 = List(1,2,3)
    val list3 = List(4,5,6)
    val list4 = List(list2,list3)
    # flatten操作
    list4.flatten   //压平操作是将嵌套在集合内层中的集合的元素放到外层生成新的集合
    • map 对集合中的元素做映射

    # 对list1中所有元素乘以10的操作就用map函数
    list1.map( e => e*10 )
    • flatMap() 相当于是对集合中的元素行进行映射处理,然后再做压平处理

    # 例如将集合中的小写字母转换成相对应的大写字母,并保留小写字母
    val ls1 = List('a','b','c')
    # flatMap操作
    val ls2 = ls1.flatMap(ch => List(ch,ch.toUpper)) // toUpper 将小字符转换成大写字符
    • 对集合中所有元素作条件判断 forall(条件判断)

    # 判断list1中的所有元素是否都大于0,条件成立返回true,否则返回false
    list1.forall(e => e > 0)
    • 对集合中所有元素进行操作 foreach(操作)

    # 将list1集合中的每一个元素换行打印出来
    list1.foreach(println)
    • reduceLeft / reduceRight

    # 从集合左边开始操作 
    list1.reduceLeft(_+_)
    # 从集合右边开始操作
    list1.reduceRight(_+_)
    • foldLeft / foldRight 带初始值的操作

    # foldLeft 
    list1.foldLeft(10)(_+_)
    # foldRight
    list1.foldRight(100)(_-_)

     

  • 相关阅读:
    ★一名“标题党”自我修炼的10大技巧
    字符编码笔记:ASCII,Unicode和UTF-8
    字符编码笔记:ASCII,Unicode和UTF-8
    字符编码笔记:ASCII,Unicode和UTF-8
    ★漫画:优秀的程序员具备哪些属性?
    ★漫画:优秀的程序员具备哪些属性?
    Linux 标准目录结构
    hadoop多次格式化后,导致datanode启动不了
    Linux天天见
    我的ipad应用备份
  • 原文地址:https://www.cnblogs.com/mrfo/p/10346049.html
Copyright © 2011-2022 走看看