Spark基础-Scala集合函数式编程
2017-08-23 23:42
519 查看
package com.xlucas import scala.collection.immutable; /** * Created by xlucas on 2017/8/23 0023. * 1、在scala集合体系中Iterable是共同的Trait,Iterable要求继承者实现一些共同的方法,例如对元素的遍历 * 2、Array是一个非常基础的数据结构,不属于scala集合的体系 * 3、scala的集合中分为可变集合和不可变集合,不可变集合在scala.collection.immutable包中,可变的集合在 * scala.collection.mutable中 * 4、list是元素的列表集合,是不可变的 * 4、1 list中的head是指第一个元素,tail是指剩下的元素构成的list集合 * 4、2 使用 ::这个操作符来把list和其它的元素进行组拼来构建新的list * 4、3 如果集合中没有元素的话,此时就是Nil * 5、 LinkedList是可变元素集合 * 5、1 第一个元素用elem,其它的是tail * 6、 set 不可以重复元素集合,元素的无序的,Hashset是可变的,但是也是无序的 LinkedHashset是可变的,是有序的 * SortedSet会根据插进去的元素进行排序 * */ object IterableOop { def main(args: Array[String]): Unit = { val range= 1 to 10 val list=List(1,2,3,4,5) println(list.head) println(list.tail) println(0::list) var linkedlist =scala.collection.mutable.LinkedList(1,2,3,4,5) println(linkedlist.elem) println(linkedlist.tail) while(linkedlist != Nil){ println(linkedlist.elem) linkedlist=linkedlist.tail } val set =Set(1,2,3,4,5) println(set) val set1=set+1 //添加元素 println(set1) val Hashset=scala.collection.mutable.HashSet(1,2,3,4) Hashset +=5 Hashset +=50 println(Hashset) val LinkHashSet=scala.collection.mutable.LinkedHashSet(1,2,3,4) LinkHashSet +=5 LinkHashSet +=50 println(LinkHashSet) val SortedSet=scala.collection.mutable.SortedSet(1,3,4,7) SortedSet +=2 SortedSet +=6 println(SortedSet) println(List("scala java python","spark hadoop").flatMap(_.split(" ")).map((_,1)).map(_._2).reduce(_+_)) } }
运行的结果
1
List(2, 3, 4, 5)
List(0, 1, 2, 3, 4, 5)
1
LinkedList(2, 3, 4, 5)
1
2
3
4
5
Set(5, 1, 2, 3, 4)
Set(5, 1, 2, 3, 4)
Set(1, 5, 2, 50, 3, 4)
Set(1, 2, 3, 4, 5, 50)
TreeSet(1, 2, 3, 4, 6, 7)
5
相关文章推荐
- 大数据Spark“蘑菇云”行动-第14课Scala集合上的函数式编程实战及Spark源码鉴赏
- 大数据Spark “蘑菇云”行动前传第14课Scala集合上的函数式编程实战及Spark源码鉴赏
- 用Spark实现K-means(scala:面向函数式编程风格)
- Scala入门系列(十):函数式编程之集合操作
- Spark基础-Scala集合的操作
- Spark 基础 —— Scala 集合
- 第6课 :零基础实战Scala集合操作及Spark源码解析
- Spark基础-Scala集合操作
- Spark基础-Scala类型参数编程
- spark入门知识讲解和基础数据操作编程(统一用scala编程实例)
- Scala学习—函数式编程之集合操作
- Scala基础—函数式编程示例
- 3000门徒内部训练绝密视频(泄密版)第3课:Scala中函数式编程彻底精通及Spark源码阅读
- 学习spark系列---scala 编程基础
- Spark RDD编程(Python和Scala版本)----Spark中的RDD就是一个不可变的分布式对象集合,是一种具有兼容性的基于内存的集群计算抽象方法,Spark则是这个方法的抽象。 Spa
- Spark RDD编程(Python和Scala版本)
- Spark基础transformation操作实例(Scala版)
- python基础-函数式编程
- Spark的函数式编程
- 2015/9/18 Python基础(14):函数式编程