package com.spark.scala.basics import scala.collection.mutable /** * 1.在scala集合体系中,Iterable是共同的Trait,Iterable要求继承者实现一些共同的方法,例如对元素的遍历等; * 2.Array是基础的数据结构,不从属于scala集合体系 * 3.scala集合体系中集合分为可变集合与不可变集合,不可变的集合在scala.collection.immutable包中 * 可变的集合在scala.collection.mutable包中 * 4.List是元素的列表集合,是不可变的 * 1)List中head是第一元素,tail是剩下的元素构成的List集合 * 2)使用::这个操作符来把List和其他的元素进行组拼,来构建新的List * 3)如果集合中没有元素的话,此时为Nil,例如说List中只有一个元素,那么head就是这个元素,tail就会返回Nil * 5.LinkedList是元素可修改的 * 6.Set是元素不可重复的,且元素是无序的,不可变的 * 7.HashSet是可变的,无序的 * 8.LinkedHashSet会维护元素插入的顺序 * 9.SortedSet会自动的把插入的元素进行排序 */ object Functional_Iterable { def main(args: Array[String]): Unit = { val range = 1 to 10 val list = List(1, 2, 3, 4, 5) //伴生对象的apply() println(list.head) println(list.tail) // ::操作 println(0 :: list) //LinkedList var linkedList = mutable.LinkedList(1, 2, 3, 4) println(linkedList.elem) //第一个元素 println(linkedList.tail) while (linkedList != Nil) { println(linkedList.elem) linkedList = linkedList.tail } val copied = linkedList.+:(9) println(copied) //Set val set = Set(1, 2, 3, 4, 5) val setMore = set + 6 println(setMore) //hashSet mutable包下 val hashSet = mutable.HashSet(1, 2, 3) hashSet += 5 hashSet += 50 println(hashSet) //LinkedHashSet val linkedHashSet = mutable.LinkedHashSet(1, 2, 3) linkedHashSet += 5 linkedHashSet += 50 println(linkedHashSet) //SortedSet val sortedSet = mutable.SortedSet(1, 2, 4, 6, 3) println(sortedSet) println(List[String]("I am into Spark so much!", "Scala is very powerful").flatMap { x => x.split(" ") }.map {x => (x, 1)}.map(x => x._2).reduce(_+_)) println(List[String]("I am into Spark so much!", "Scala is very powerful").flatMap { x => x.split(" ") }.map {(_, 1)}.map(_._2).reduce(_+_)) println(List[String]("I am into Spark so much!", "Scala is very powerful").flatMap { x => x.split(" ") }.map {(_, 1)}.map(_._2).reduce((x, y) => x + y)) List(1,2,3,4,5).foreach(x => println(x)) List(1,2,3,4,5).foreach(println(_)) List(1,2,3,4,5).foreach(println _) List(1,2,3,4,5).foreach(println) } }
Scala基础—集合函数式编程示例(占位符的使用示例)
最新推荐文章于 2022-05-14 11:28:50 发布