Scala集合的高级操作如map、flatten、flatMap、zip、reduce等,如何一气呵成?

2026-04-02 11:331阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计537个文字,预计阅读时间需要3分钟。

Scala集合的高级操作如map、flatten、flatMap、zip、reduce等,如何一气呵成?

Scala的List和Set操作:Set和List的差集不会超过Set中不允许多余的元素。`var set=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 操作

 

 

Scala集合的高级操作如map、flatten、flatMap、zip、reduce等,如何一气呵成?

 

 

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

标签:特性1scala

本文共计537个文字,预计阅读时间需要3分钟。

Scala集合的高级操作如map、flatten、flatMap、zip、reduce等,如何一气呵成?

Scala的List和Set操作:Set和List的差集不会超过Set中不允许多余的元素。`var set=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 操作

 

 

Scala集合的高级操作如map、flatten、flatMap、zip、reduce等,如何一气呵成?

 

 

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

标签:特性1scala