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

大数据系列修炼-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
}

如有问题,欢迎留言指正!

你可能感兴趣的:(scala,大数据)