我们做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操作:
相关推荐
- **函数式编程**: 它支持高阶函数、模式匹配等函数式编程特性。 - **静态类型**: 虽然Scala有自动类型推断功能,但它本质上仍然是一种静态类型的编程语言。 - **简洁**: 与Java相比,Scala通常需要更少的代码行...
- **高阶函数**:函数可以作为参数传递,也可以作为返回值。 - **类与对象**:Scala中的类和对象是统一的,可以创建无实例的静态类(名为对象)。 - **特质(Traits)**:提供了一种实现多重继承的机制。 - **...
3. **函数式编程**:Scala支持高阶函数和闭包,可以定义匿名函数,使用map、filter、fold等函数式编程操作符。它还引入了不可变数据结构,这在并发编程中特别有用。 4. **Actor模型**:Scala内置了对Akka框架的支持...
- 函数式编程支持:提供高阶函数、柯里化、模式匹配等特性,便于编写简洁而富有表达力的代码。 - 面向对象编程:支持类、接口、继承、多态等面向对象概念。 - REPL(Read-Eval-Print Loop):交互式编程环境,便于...
在实际开发中,Scala的特性如类型推断、模式匹配、高阶函数等,都能在IDE的辅助下得到更好的理解和应用。例如,类型推断使得开发者无需显式声明变量类型,而模式匹配则简化了数据解析和处理的过程。高阶函数则允许将...
在函数式编程方面,Scala提供了高阶函数、柯里化、模式匹配、不可变数据结构等特性,这些在IntelliJ IDEA的Scala插件中都有良好的支持。通过IDE,开发者可以方便地使用这些功能,提升代码的简洁性和可读性。 对于...
3. **函数式编程**:Scala是函数式编程的强大平台,它提供了高阶函数、匿名函数、柯里化、尾递归优化等功能。函数在Scala中被视为一等公民,可以作为参数传递,也可以作为返回值。 4. **集合库**:Scala的集合库是...
详细讲解Scala中的高阶函数部分,具体实例剖析Scala中高阶函数的意义所在,对控制抽象进行了详细的说明,参考书籍《快学Scala》、《Programming in Scala》
8. **智能提示**:理解Scala的特性,如模式匹配、高阶函数等,提供相应的智能提示和建议。 Spark是Apache基金会开源的大数据处理框架,它充分利用了Scala的特性,如面向对象和函数式编程,使得开发分布式应用程序变...
3. **函数式编程**:Scala支持高阶函数和不可变数据结构,使得代码更加简洁,可读性更强,并且易于测试。 4. **面向对象编程**:Scala是面向对象的语言,支持类、对象和继承。同时,它引入了特质(trait)作为实现...
3. **函数式编程**:支持高阶函数、柯里化、尾递归优化等特性,使得代码简洁且易于测试。 4. ** Actors模型**:提供了一种轻量级的并发机制,用于实现高效的并行和分布式计算。 5. **集合库**:Scala的集合库强大且...
- **函数式编程**:Scala支持高阶函数、闭包和不可变数据结构,使得编写并发程序更加简单。 - **面向对象编程**:提供了类、特质(trait)和继承,同时支持多态和抽象类型。 - ** Actors模型**:Scala内置对Akka ...
Scala的语法优雅且富有表达力,它允许开发者使用函数式编程的特性,如高阶函数、柯里化、模式匹配和不可变数据结构,同时保留了面向对象的类、接口和继承。这使得Scala成为处理大数据、并发和分布式计算的理想选择,...
它支持高阶函数、闭包和惰性求值。 - **模式匹配**:Scala允许通过模式匹配来分解数据结构,这是一种强大的代码简化和错误检测工具。 - **类型推断**:编译器能够自动推断变量和表达式的类型,减少了冗余的类型声明...
3. **函数式编程**:Scala深受函数式编程语言如Lisp和Haskell的影响,支持高阶函数、闭包、不可变数据结构和尾递归等特性。 4. **面向对象编程**:Scala也是面向对象的,支持类、对象、继承、封装和多态。特别的是...
- **高阶函数**:函数在Scala中被视为第一类公民,可以作为参数传递,也可以作为返回值。 - **Actor模型**:Scala内置对Akka框架的支持,实现高效的并发处理。 - **FP特性**:包括不可变数据结构、尾递归优化和类型...
它的语法简洁,支持高阶函数、模式匹配、匿名函数、类型推断等特性,使得代码更加简洁和易于理解。 2. 版本2.12.x: Scala的版本号通常以主版本号.次版本号.修订号的形式表示。2.12.x系列是Scala的一个主要分支,...
另一方面,Scala的函数式编程特性借鉴了Haskell和Lisp等语言,包括高阶函数、不可变数据结构和柯里化等功能。这些特性使得代码更加简洁,更易于测试和维护,尤其在处理并发和大数据时表现突出。 "scala-intellij-...
3. **高阶函数**:Scala支持函数作为一等公民,可以赋值给变量、作为参数传递、从函数返回。 4. **匿名函数和lambda表达式**:简化了函数定义,特别是在与集合API配合使用时。 5. **Actor模型**:Scala内置Akka库,...
- 函数式编程:支持高阶函数、闭包和不可变数据结构,使得代码更简洁且易于并行处理。 - 类型推断:编译器可以根据上下文自动推断变量类型,减少了显式的类型声明。 - 丰富的集合库:提供了强大的集合操作,如map...