大三寒假学习 spark学习 针对集合的操作

列表的遍历:

  可以使用for循环遍历

  

  也可以使用foreach进行遍历

  

映射的遍历:

  映射遍历的基本格式:

for ( (k,v) <- 映射) 语句块

 

 

   也可以使用foreach来实现对映射的遍历:

  也可以用下面这种方式:kv._1相当于键,kv._2相当于值

map操作:

  map操作是针对集合的典型变换操作,它将某个函数应用到集合中的每个元素并产生一个结果集合

  

flatMap操作:

  flatMap是map的一种扩展。在flatMap中,我们会传入一个函数,该函数对每个输入都会返回一个集合(而不是一个元素),然后,flatMap把生成的多个集合“拍扁”成为一个集合

  

 

 

   上面的flatMap执行时,会把books中的每个元素都调用toList,生成List[Char],最终,多个Char的集合被“拍扁”成一个集合

filter操作:

  遍历一个集合并从中获取满足指定条件的元素组成一个新的集合。Scala中可以通过filter操作来实现

  采用filter操作过滤得到那些学校名称中包含“Xiamen”的元素

  

  采用filter操作过滤得到那些学校名称中以字母“P”开头的元素

  

 

reduce操作:

  reduce包含reduceLeft和reduceRight两种操作,前者从集合的头部开始操作,后者从集合的尾部开始操作:

  

  reduceLeft(C +_)整个加法操作的执行顺序如下

  

 

  reduceRight(+_)表示从列表尾部开始对两两元素进行求和操作,顺序如下

   

 

  直接使用reduce,而不用reduceLeft和reduceRight,这时,默认采用的是reduceLeft

fold操作:

  折叠(fold)操作和reduce (归约)操作比较类似。fold操作需要从一个初始的“种子”值开始,并以该值作为上下文,处理集合中的每个元素

  

 

posted @ 2022-01-16 21:22  风吹过半夏  阅读(106)  评论(0编辑  收藏  举报