`

scala入门-09 scala高阶函数

阅读更多

我们做spark开发 会使用很多spark的高阶函数 所以 今天我就在linux服务上使用scala高阶函数

声明一个List集合:

List集合所在的包已经被预定义自动引入,所以此处就不需要在引入包了,这里直接使用List实例化对象,其实用List的object对象的apply方法

我们使用map函数把list中的每个值都乘以3:

x表示l中每一个元素,map对l中的每一个元素进行遍历操作,由于List中只有一种类型的元素,所以我们在执行马屁操作的时候可以省略其类型,如下所示:

List集合中只有一个参数的时候,我们可以去掉参数中的括号:

为了能保存所有代码,我还是使用IDEA吧

scala中的集合:

集合主要有List、Set、Tuple、Map等

在scala下的org.scala.collection下创建scala类CollectionOperations

在IDEA中创建一个List实例:

我们看一下List代码实现:

源码中说明了其内部是apply的方式来完成实例化的:

使用同样的方式实例化Set:

我们可也看下Set实例化对象的实现:

接下来我们在linux命令行终端中砍下集合的操作,首先看Set:

发现Set中不会存储重复的元素

下面看下Tuple的申明和使用:

tuple 访问的时候下标是从1开始的

对于Tuple而言,如果只有两个元素的时候我们还可以使用如下方式创建:

接下来我们看下Map的定义吧:

Map本身使用的是可变参数的方式,所以可以给Map赋多个值:

我们看一下Option类型,Option代表了一个可有可无的值:

Option有两个子类:Some 和None,下面看看Option的使用:

接下来我们看下filter的使用:

对集合的zip操作:

下面我们看下partition对集合的切割操作:

使用flatten的多集合进行扁平化操作:

flatMap是map和flatten操作的集合,先进行map操作后再进行flatten操作:

分享到:
评论

相关推荐

    高阶函数 in Scala

    详细讲解Scala中的高阶函数部分,具体实例剖析Scala中高阶函数的意义所在,对控制抽象进行了详细的说明,参考书籍《快学Scala》、《Programming in Scala》

    Scala函数式编程

     尽管函数式编程在近十多年用得越来越多,但市面上介绍其高阶特性的书却并不多。这本书在这方面是个重要的补充,它不仅仅面向 Scala 程序员,同样面向用任何编程语言开发的程序员,只要你充满好奇心。  ——挖财网...

    SCALA从入门到精通个人笔记含代码

    目录如下 Scala简介&快速入门 基础语法 变量 数据类型 流程控制 操作符重载 模式匹配 函数式编程基础 函数式编程说明 ... 高阶函数 闭包closure 柯里化函数 控制抽象 递归高级 Akka 介绍

    scala-rate-limiter:使用高阶函数测试速率限制

    理想情况下,您应该能够通过将您的函数包装成某种东西来获得它,这种东西可以神奇地将其转换为确保您不会过于频繁地调用它的东西(如果您调用它的次数超过了应有的次数,则推迟它。)这个原型是做什么的。 目前仅...

    Scala语言规范-2019.rar

    Scala语言规范-Scala 是一...Scala 也是一门函数式变成语言,每个函数都是一个值,原生支持嵌套函数定义和高阶函数。 Scala 也支持一种通用形式的模式匹配,模式匹配用来操作代数式类型,在很多函数式语言中都有实现。

    spark源码之scala基础语法demo

    scala是一种基于JVM的面向对象的函数编程,scala编程相对于...2:函数式编程,柯里化函数,匿名函数,高阶函数等。 3:代码行简单。 4:支持并发控制,Actor Model机制 5:目前比较流行的kafka,spark均由scala开发。

    java8stream源码-hello-scala:你好-scala

    函数式编程语言不可变性,高阶函数和函数组合` 一个更好的网络资源来逐步学习 SCALA 关于 Scala 的一些重要信息 它是由 Martin Odersky(javac 之父)创建的现代 jvm 平台编程语言,受 Java、Ruby、Smalltalk、ML、...

    java图书馆swing源码-scala-for-the-impatient:“不耐烦的Scala”练习的解决方案

    java图书馆swing源码Scala ...高阶函数 (L1) 集合 (A2) 模式匹配和案例类 (A2) 注释 (A2) XML 处理 (A2) 类型参数 (L2) 高级类型 (L2) 解析和领域特定语言 (A3) 演员 (A3) 隐式 (L3) 定界续行 (L3)

    spark从入门到实战

    第1章:SCALA编程(一) 1.大数据分析框架概要、Spark课程学习计划及建议 2.为什么学习SCALA语言及SCALA语言介绍和学习提纲 ...15.高阶函数定义与使用 16.深入高阶函数的使用 。。。。。。。。。。。。。。

    scala学习手册.zip

    Scala也是一种函数式...Scala提供了轻量级的语法用以定义匿名函数,支持高阶函数,允许嵌套多层函数,并支持柯里化 。Scala的Case Class及其内置的模式匹配相当于函数式编程语言中常用的代数类型(Algebraic Type)。

    Scala in Depth

    本书由Scala之父作序推荐,深入探讨了Scala里几个较为复杂的领域,包括类型系统的高阶内容、隐式转换、特质的组合技巧、集合、Actor、函数式编程的范畴论等,而且不是干巴巴地讲述语言和库的概念。本书示例丰富,是...

    快学 scala 语法大全

    此文档是scala的语法大全,一共分为22章,控制结构,特质,高阶函数,集合,模式匹配,样例类,解析,actor等都包括在内。

    大数据技术之Scala.pdf

    我的博客中第一章到第十八章的内容 1.Scala 简述 2.Scala 安装与配置 ...7.高阶函数 8.类 9.对象 10.包和引用 11.继承 12.特质 13.注解 14.类型参数 15.隐式转换 16.文件和正则表达式 17.高级类型 18.并发编程 Akka

    ScalaTutorial

    ScalaTutorial 函数式编程 多范式 高阶函数

    scala-nespresso:Nespresso 的 Scala 演示

    高阶函数 注意:对于那些需要加快速度的人,我在下面添加了一些链接 目的是提供最近 Scala 功能的具体实际用途。 我们将涵盖以下几点: 构建工具:SBT 地狱或 maven 冗长 字符串插值 具有隐式值类的开闭原则 类型类...

    《快学Scala》完整版书籍.rar

    scala基础语法,语法基础,控制结构和函数,scala数组相关操作,映射和元组,类,对象,继承,文件和正则表达式,特质,操作符,高阶函数,集合,样式匹配和样例类。

    快学 scala 中文版 带完整目录

    12.5 一些有用的高阶函数 180 12.6 闭包 181 12.7 SAM转换 182 12.8 柯里化 183 12.9 控制抽象 185 12.10 return表达式 186 练习 187 第13章 集合 A2191 13.1 主要的集合特质 192 13.2 可变和不可变集合 ...

    Scala讲义笔记

    函数式编程可以使用高阶函数 函数是一等公民 可以更加灵活的进行程序的编写。 函数式编程并不是面向对象编程的发展,而是另外一种解决问题的思路,两者之间也并没有绝对的好坏之分,在不同的场景中各有各的优缺点。...

    google-oauth-ember-play-scala:使用Scala Play 2.4中的Google OAuth 2.0在Ember.js中呈现的Google Spreadsheets

    隐含值,高阶函数和用于更干净,更安全代码的选项。 在具有Java互操作性的Scala中使用Java软件包。 Scala Play中的Google OAuth 2.0。 GoogleSpreadsheet API的Scala包装器。 前端: ES6功能和语法。 Ember-...

    Scala集合.md

    学习spark之前,大家必须先学会Scala这门语言,他是spark的基础,这里总结了一下Scala集合的相关知识点

Global site tag (gtag.js) - Google Analytics