当前位置 : 主页 > 网络编程 > 其它编程 >

scala高级十六scala集合和集合的高级特性mapflattenfllatmapzipreducezip等操作...

来源:互联网 收集:自由互联 发布时间:2023-07-02
1.scala的列表List和集Set的操作Set和list差不多不过Set中不允许有重复的元素varsetscala.collection.mutable.Set 1. scala 的列表List 和集Set 的操作 //Set 和list 差不多不过 Set 中不允许有重复的元素  
1.scala的列表List和集Set的操作Set和list差不多不过Set中不允许有重复的元素varsetscala.collection.mutable.Set

1. scala 的列表List 和集Set 的操作

//Set 和list 差不多不过 Set 中不允许有重复的元素   var setscala.collection.mutable.Set[Int]();        // 会产生一个新的对象而不是在set 中动态增加    set.(1)    // 会在原先的set 中动态的增加元素而不是产生一个新的对象。    set.(1,2,3)        //这个会输出一个排序以后的 集合 比如 输入 7,4,8,6,1 输出  1,46,7,8    import scala.collection.mutable.SortedSet        var sortSortedSet[Int]()    sort.(7,4,8,6,1)        sort.foreach(println)

 2. 集合的函数组合子Functional Combinators

map

map对列表中的每个元素应用一个函数返回应用后的元素所组成的列表。

var lstList(1,2,3,4)//Map 映射到list 集合中的没一位然后结构乘以2lst.map((x:Int)>x*2)//上一步的匿名函数简化 去掉类型系统推断类型lst.map(x>x*2)//进一步简化直接写返回表达式var li lst.map(_*2)for(x<-li)println(x)

 

 

foreach

foreach很像map但没有返回值。foreach仅用于有副作用[side-effects]的函数。

var lstList(1,2,3,4)//用foreach 输出list中的参数lst.foreach((x:Int)>{println(x*2)})//精简后的foreachlst.foreach(_*2)

 

 

filter

filter移除任何对传入函数计算结果为false的元素。返回一个布尔值的函数通常被称为谓词函数[或判定函数]。

var lstList(1,2,3,4)//过滤>2 的所有蒜素lst.filter((x:Int)>x>2).foreach(println)//精简后的结构lst.filter(_>2).foreach(println)

 

 

flatten

flatten将嵌套结构扁平化为一个层次的集合。

 

flatMap

flatMap是一种常用的组合子结合映射[mapping]和扁平化[flattening]。 flatMap需要一个处理嵌套列表的函数然后将结果串连起来。

 

Reduce

  reduece  下面的函数 通过reduce 把所有的参数相加

fold

fold 类似于reduce 不过不同的是 fold 需要两个参数一个参数用来设置偏移量 比如下面的例子偏移量是10 加上reduce 运算的10 得20

zip

zip将两个列表的内容聚合到一个对偶列表中。

 

sum,max,min 操作

 

 

 

 

转载于:https://www.cnblogs.com/IChing/p/7121730.html

上一篇:联想笔试题(附简单答案)
下一篇:没有了
网友评论