自学内容网 自学内容网

Scala第二天

1、 字符串拼接

scala形式 :   

val s = "java"

val a = 123

val x = 3.14

// 格式:     s - 方法   $ - 引用符,引用外面的变量

val sax = s"$s $a $x"  

// 想在中间再加上字符

val sdd = s"$s ${d}+1 $f"

println(sax)     // java 123 3.14

println(sdd)     // java 123+1 3.14

2、 scala  -- 面向对象编程  /  面向函数编程

    面向对象编程 :  将对象传来传去  , 调用一个方法传递的是一个对象,返回值的也是一个对象

   (1) 将对象作为参数

   (2) 将对象作为返回值

面向函数编程 :  将函数传来传去    --- 高阶函数

   (1) 以函数作为参数   (** 很重要 **)

       (2) 以函数作为返回值 (知道就行)

lambda表达式   --- 匿名表达式

   定义即调用

foreach :  循环数组,按照顺序将数组中的元素一个一个传给后面括号中的函数  

    array.foreach(println)

3、

(1) map() : 循环数组,将数组中的元素一个一个传递给后面的函数,函数的返回值会构建成一个新的数组

  -- 数据量不变    一对一

    

val ids: Array[String] = students.map(student => student.split(",")(0))

    (2) filter() :  将数组中的元素一个一个传递给后面的函数

  如果函数返回True保留数据

  如果函数返回False过滤数据

              -- 数据(可能)会变少

val filterStudent: Array[String] = students.filter(s => "文科一班".equals(s.split(",")(4)))

    (3) flatMap() :  将集合中的元素一个一个传递给后面的函数, 函数的返回值必须是一个集合, 然后将返回的集合展开成一个新的集合

先是 map   -- 返回一个数组

                再是 flat  -- 再展开

          -- 将数据一行变多行    一对多  

    

val words: List[String] = lines.flatMap(line => line.split(","))

4、集合  -- 可变(mutable) / 不可变(immutable)

(1) list  :  有序不唯一    -- 不可变

    (2) set   :  无序唯一      -- 不可变

    (3) Map   :  kv格式

    (4) Tuple :  元组, 固定长度的集合

 // 1、 List 集合  -- 不可变

 val list = List(1, 2, 3, 4, 5, 6, 7, 8, 9)

 // 2、创建一个无序唯一的set集合   -- 不可变

 val set = Set(1, 2, 3, 3, 1, 1, 4)

 // 3、创建一个元组

 val t: (Int, Int, Int, Int, Int, Int) = (1, 2, 3, 4, 5, 10)

 // 4、创建一个不可变的map集合

 //    ("001", "张三") :  二元组  

 //    "001" -> "张三" :  构建二元组的简写

 val map = Map(("001", "张三"), ("002", "李四"), "003" -> "王五")

5、 WordCount 简写

// 链式调用

    Source

     .fromFile("data/words.txt")  // 读取文件

     .getLines()  // 获取所有行

     .toList  // 转换成List集合

     .flatMap(line => line.split(","))  // 一行变多行

     .groupBy(word => word)   // 以单词分组     (word, List(words)))

     .map(kv => (kv._1, kv._2.length))  // 统计单词数量    (word, countNum)

     .foreach(println)


原文地址:https://blog.csdn.net/a_black03/article/details/142578637

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!