Scala基础—集合函数式编程示例(占位符的使用示例)
来源:互联网 发布:xp怎么连接网络打印机 编辑:程序博客网 时间:2024/06/07 10:15
package com.spark.scala.basicsimport 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) }}
阅读全文
0 0
- Scala基础—集合函数式编程示例(占位符的使用示例)
- scala集合函数式编程使用示例
- Scala基础—函数式编程示例
- scala函数式编程使用示例
- Scala基础—偏函数的示例
- 集合上的函数式编程 示例
- Scala基础—面向对象编程示例
- Scala基础—implicit编程示例
- Scala基础—并发编程示例
- Scala基础—函数式编程高阶示例,闭包、Currying等
- Scala基础—Trait使用示例
- Scala基础—异常、Lazy使用示例
- Spark基础-Scala集合函数式编程
- Scala基础—多线程示例
- Scala 集合简单示例
- Scala基础—*类型参数编程实战示例
- Scala 强大的集合数据操作示例
- Scala 的集合数据操作示例
- hdoj 2037
- LeetCode算法搜索
- 记账软件_强迫证处女座的福音_功能不是最强大,绝对最实用的记账软件
- 使用Windows远程桌面(mstsc)通过RDP协议访问Ubuntu/Debian服务器 时间:2015-05-16来源:linux网站 作者:wangxiaoyu 觉得通过Windows原生的远程
- hdoj 2051
- Scala基础—集合函数式编程示例(占位符的使用示例)
- redis scan 命令遇到的坑总结
- CPU卡COS系统文件结构详解
- mvc 安装和卸载 bootstrap
- Mac brew 安装 php7 一些注意事项
- 常用控件(三)
- Java组合设计模式
- hdoj 2111
- 考研之华东师范