大数据 第3页
3.2 循环结构-知趣

3.2 循环结构

Scala同样提供了对程序流程控制的语法。Scala中的程序流程控制结构虽然与Java类似,但也有自己的一些独特的方法。循环结构经常地,我们需要遍历集合中的元素,或者对集合中的每个元素进行操作,...
one的头像-知趣one1年前
0819202
3.3 简单模式匹配-知趣

3.3 简单模式匹配

Scala中没有提供与Java语言中switch类似的语法,但是提供了一个更加强大的模式匹配功能。模式匹配是一个Scala 概念,它看上去与其它语言中的一个switch 语句很类似。不过,它是一个比switch 语...
one的头像-知趣one1年前
0367222
4.1 Scala集合:Seq-知趣

4.1 Scala集合:Seq

Scala 有一个丰富的集合库,包含很多不同类型的集合。此外,所有的集合都暴露出相同的接口。因此,一旦熟悉了一个Scala 集合,就可以很容易地使用其它集合类型。Scala中的集合体系主要包括:Ite...
one的头像-知趣one1年前
0748146
4.2 Scala集合:Set-知趣

4.2 Scala集合:Set

Set 是一个不重复元素的无序集合。它不包含重复元素。此外,它不允许通过索引访问一个元素,因为它并没有索引。下面是一个Set 的例子:val fruits = Set('apple', 'orange', 'pear', 'banana')v...
one的头像-知趣one1年前
0683189
4.3 Scala集合:Map-知趣

4.3 Scala集合:Map

Map是一个key-value 对的集合。在其它语言中,它被称为词典、关联数组、或HashMap。这是一个根据key查找value的高效的数据结构。下面的代码段演示了怎样创建和使用一个Map:val capitals = Map(...
one的头像-知趣one1年前
0596246
4.4 Scala集合:Queue和Stack-知趣

4.4 Scala集合:Queue和Stack

Queue队列(queue)是一种“先进先出”的数据结构。这一节我们学习如何使用Scala的不可变队列,以及执行一些常见的操作,如初始化,添加或删除元素,在队列中通过键找到元素,入队和出队。Queue...
one的头像-知趣one1年前
0546202
4.5 Scala集合:Stream流-知趣

4.5 Scala集合:Stream流

什么是Stream流?根据Scala文档,流是类似于列表的数据结构,只是流的元素是惰性计算机制。因此,可以拥有无限长的流!Stream(流)与List类似,但是它是延迟计算的,所以可以非常非常长。// 创建...
one的头像-知趣one1年前
0740250
4.6 Scala集合:Vector-知趣

4.6 Scala集合:Vector

什么是向量?根据Scala文档,Vector是类似于List的数据结构。但是,它解决了List中随机访问的低效问题。【示例】学习如何使用Scala的不可变向量来执行一些常见的操作,比如初始化Vector,访问特...
one的头像-知趣one1年前
0697142
4.7 Scala集合:Range和Tuple-知趣

4.7 Scala集合:Range和Tuple

RangeRange定义一个范围,指定开始、结束和步长,通常用于填充数据结构和遍历for循环。object RangeDemo { def main(args: Array[String]): Unit = {   // 使用方法to来创建Range(包含上限)  ...
one的头像-知趣one1年前
0774181
4.8 Scala集合:Option-知趣

4.8 Scala集合:Option

在Scala中,Option[T]是给定类型的0或1个元素的容器。Option 是一个数据类型,用来表明一些数据的“有”或“无”,可以是Some[T]或None[T],其中T可以是任何给定类型。一个Some 实例可以存储任...
one的头像-知趣one1年前
0871261
4.9 Scala集合类上的高阶方法-知趣

4.9 Scala集合类上的高阶方法

Scala集合的真正强大之处在于带来了其高阶方法。一个高阶方法使用一个函数作为其输入参数。需要特别注意的是,一个高阶方法并不改变集合。下面是Scala集合的一些最主要的高阶方法。1、mapScala ...
one的头像-知趣one1年前
0719217
4.10 使用for/yield组合创建新集合-知趣

4.10 使用for/yield组合创建新集合

在Scala的for表达式中,可以使用yield关键字来生成新的集合:val nieces = Array('java', 'python', 'scala', 'php')for (n <- nieces) yield n.capitalize​// 使用 for/yield 创建新数组va...
one的头像-知趣one1年前
0796208
5.1 函数字面量-知趣

5.1 函数字面量

函数是一个可执行代码块,它接收输入参数返回一个值。它概念上与数学中的函数相似,它接收输入并返回一个输出。Scala是一个函数式编程语言,它将函数当作一等公民;一个函数可以像一个变量一样...
one的头像-知趣one1年前
0545207
5.2 函数方法和函数参数-知趣

5.2 函数方法和函数参数

函数方法也可以使用def关键字来定义有名字的函数。在Scala 中,使用关键字def 定义函数,其语法格式如下:def 函数名(参数1:数据类型,参数2:数据类型):函数返回类型= {   函数体}这种方式,通常...
one的头像-知趣one1年前
0389283
5.3 高阶函数-知趣

5.3 高阶函数

什么是高阶函数?在scala中,函数可以作为参数来传递。下面的代码定义一个接受函数作为参数的函数:// 函数定义def operation(func:(Int, Int) => Int) = {   val result = func(4,4)   pri...
one的头像-知趣one1年前
0382281
5.4 闭包与函数柯里化-知趣

5.4 闭包与函数柯里化

闭包闭包是一个函数,其返回值依赖于在该函数外声明的一个或多个变量的值。请看下面的代码:var y = 3val multiplier = (x:Int) => x * ymultiplier(2)在上面的代码中,multiplier就是一个闭...
one的头像-知趣one1年前
0701160