您的位置:首页 > 编程语言

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息