您的位置:首页 > 大数据

大数据系列修炼-Scala课程33

2016-09-18 09:39 267 查看
大数据系列修炼-Scala课程33

核心内容:

1、List的一阶函数操作代码实战详解

1、List的一阶函数操作代码实战详解
所谓一阶函数就是函数的参数不是函数,而是普通的变量;所谓高阶函数就是函数的参数是函数,此时认为函数是高阶函数

List集合中常用的方法:

1>List中常用的方法:head、tail、:::(组拼)、isEmpty、head、last、init、reverse、take、drop、splitAt、apply

2>List中常用的方法:indices、zip、zipWithIndex、toString、mkString

3>List中常用的方法:StringBuilder,toArray,copyToArray,toIterator

List集合中具体方法介绍:

tail:List集合中除第一个元素以外其他元素的集合

init:List集合中除最后一个元素以外其他元素的集合

:::含义:将多个List集合联合(组拼)起来,合成一个新的集合

take(n):获取List前n个元素的集合

drop(n):去除掉List前n个元素后剩下元素的集合

splitAt(n):将List集合拆分成若干个集合

head:返回List集合中的第一个元素

last:返回List集合中的最后一个元素

length:List集合中元素的个数(长度)

reverse:List集合中的元素进行反转

indices:取出List集合中所有元素对应的索引

zip:可以将多个集合进行拉链操作,所谓拉链操作就是配对操作

zipWithIndex:将List中的元素与索引进行配对构成新的集合

mkString:将List集合中的元素按照新的方式进行输出,mkString方法在spark中将数据进行格式化输出的时候非常有用

List与数组之间可以转换

toIterator:返回能够遍历当前集合中所有元素的迭代器

实例程序:

object App68
{
println("Welcome to the Scala worksheet")       //> Welcome to the Scala worksheet
val list = List("spark","hadoop","hbase","scala")
//> list  : List[String] = List(spark, hadoop, hbase, scala)
println(list.head)                              //> spark
println(list.last)                              //> scala
println(list.init)                              //> List(spark, hadoop, hbase)
println(list.tail)                              //> List(hadoop, hbase, scala)
println(list.take(3))                           //> List(spark, hadoop, hbase)
println(list.drop(1))                           //> List(hadoop, hbase, scala)
println(list.splitAt(3))                        //> (List(spark, hadoop, hbase),List(scala))
println(list.indices)                           //> Range(0, 1, 2, 3)
println(list.indices.zip(list))                 //> Vector((0,spark), (1,hadoop), (2,hbase), (3,scala))
println(list.zipWithIndex)                      //> List((spark,0), (hadoop,1), (hbase,2), (scala,3))
println(list.mkString("[","--","]"))            //> [spark--hadoop--hbase--scala]
println(list.mkString("---"))                   //> spark---hadoop---hbase---scala
val iterator = list.toIterator                  //> iterator  : Iterator[String] = non-empty iterator
println(iterator.next)                          //> spark
println(iterator.next)                          //> hadoop
}


如有问题,欢迎留言指正!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: