
scala
文章平均质量分 63
码上行舟
接受自己的普通,然后全力以赴的出众
展开
-
spark数据分析练习
新数据集中需 城市名称、城市总订单、城市酒店平均用户评分、城市酒店总评论数。分别计算以下三个字段的最大值和最小值(城市总订单、城市酒店平均用户评分、城市酒店总评论数)打印输出原创 2023-02-11 11:03:20 · 386 阅读 · 0 评论 -
spark数据清洗练习
通过编写Spark程序清洗酒店数据里的缺失数据、非法数据、重复数据。原创 2023-02-11 10:52:36 · 4854 阅读 · 0 评论 -
scala入门指南
Scala 是一门多范式的编程语言,一种类似 Java 的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。Scala允许用户使用命令和函数范式编写代码。Scala运行在Java虚拟机之上,可以直接调用Java类库。对于新手来说,Scala相对比较复杂,其看起来灵活的语法并不容易掌握,但是对于熟悉Scala的用户来说,Scala是一把利器,它提供了许多独特的语言机制,可以以库的形式轻易无缝添加新的语言结构。原创 2023-01-27 11:00:02 · 587 阅读 · 0 评论 -
scala模式匹配
但是Scala的模式匹配的功能比Java的swtich case语法的功能要强大的多,Java的switch case语法只能对值进行匹配。Scala的模式匹配除了可以对值进行匹配之外,还可以对类型进行匹配、对Array和List的元素情况进行匹配、对case class进行匹配、甚至对有值或没值(Option)进行匹配。原创 2023-01-26 11:14:43 · 1957 阅读 · 0 评论 -
scala接口trait
Scala 语言中,采用特质trait(特征)来代替接口的概念,也就是说,多个类具有相同的特征时,就可以将这个特质(特征)独立出来,采用关键字trait声明。理解 trait 就等价与(interface+abstract class)trait 的声明trait 特质名 {trait 体 }trait 命名 一般字母大写。Serializable:就是 scala 的一个特质。在 scala 中,java 中的接口可以当做特质使用Scala 中 trait 的使用。原创 2023-01-26 11:06:57 · 1076 阅读 · 0 评论 -
scala高级类型Type
对于给定的任何引用v,你可以得到它的类型v.type,它有两个可能的值:v和null。这看上去有些奇怪,但是它在某些应用场景下非常有用。原创 2023-01-25 10:09:33 · 197 阅读 · 0 评论 -
scala类型参数泛型
带有一个或多个类型参数的类是泛型的。如果你把类型参数替换成实际的类型,将得到一个普通的类,比如Pair[Int, String],这非常方便。Scala中的泛型成为类型参数化。语法跟Java有所区别,使用"[]"表示类型,首先我们学习一下Scala泛型类的使用方式。以上将定义一个带有两个类型参数T和S的类。在类的定义中,你可以用类型参数来定义变量、方法参数,以及返回值的类型。首先新建一个Scala泛型类文件。Scala会从调用该方法使用的时机参数来推断出类型。和泛型类一样,你需要把类型参数放在方法名之后。原创 2023-01-25 10:00:31 · 318 阅读 · 0 评论 -
scala高阶函数
能够接受函数作为参数的函数,叫做高阶函数 (higher-order function)。可使应用程序更加健壮。原创 2023-01-24 10:00:23 · 1554 阅读 · 0 评论 -
scala函数柯里化
函数编程中,接受多个参数的函数都可以转化为接受单个参数的函数,这个转 化过程就叫柯里化柯里化就是证明了函数只需要一个参数而已。其实我们刚才的学习过程中,已 经涉及到了柯里化操作。不用设立柯里化存在的意义这样的命题。柯里化就是以函数为主体这种思想发展的必然产生的结果。(即:柯里化是面向函数思想的必然产生结果)原创 2023-01-24 09:57:01 · 2319 阅读 · 1 评论 -
scala偏函数
在对符合某个条件,而不是所有情况进行逻辑操作时,使用偏函数是一 个不错的选择将包在大括号内的一组case语句封装为函数,我们称之为偏函数,它只 对会作用于指定类型的参数或指定范围值的参数实施计算,超出范围的 值会忽略(未必会忽略,这取决于你打算怎样处理)偏函数在Scala中是一个特质PartialFunction将集合 list 中的所有数字 +1,并返回一个新的集合要求忽略掉 非数字 的元素,即返回的新的集合形式为(2,3,4,5)原创 2023-01-23 10:42:40 · 2312 阅读 · 0 评论 -
scala匿名函数
没有名字的函数就是匿名函数,可以通过函数表达式来设置匿名函数。原创 2023-01-23 10:39:30 · 1405 阅读 · 0 评论 -
scala函数
Scala 方法是类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说在类中定义的函数即是方法。对于函数,我们需要给出所有参数的类型,只要函数不是递归的,则不需要指定返回类型。Scala 中的函数则是一个完整的对象,Scala 中的函数其实就是继承了 Trait 的类的对象。如果不写等于号和方法主体,那么方法会被隐式声明为抽象,包含它的类型于是也是一个抽象类型。可以是任意合法的Scala数据类型,参数列表中的参数可以使用逗号分隔。Scala 中的方法跟 Java 的类似,方法是组成类的一部分。原创 2023-01-22 16:13:17 · 703 阅读 · 0 评论 -
scala参数类型推断
参数推断省去类型信息(在某些情况下[需要有应用场景],参数类型是可以推断 出来的,如list=(1,2,3) list.map() map中函数参数类型是可以推断的),同时也可以进行相应的简写。原创 2023-01-22 16:09:29 · 837 阅读 · 0 评论 -
scala控制结构
Scala中的控制结构,与其他编程语言,比如Java相比,并无太大差别,主要是分支和循环为主。但Scala中的控制结构大多具有返回值,而其他编程语言中的控制结构一般就仅仅是用于流程控制。分支结构应该编程中最为常用的控制结构了,典型就是if-else。会把当前的元素记下来,保存在集合中,循环结束后将返回该集合。Scala拥有与Java和C++相同的循环结构。,循环语句会重复执行循环体内的代码块。循环会确保至少执行一次循环。可以是一个数字区间表示。中用于保存变量和条件,循环,只要给定的条件为。原创 2023-01-21 13:05:00 · 325 阅读 · 0 评论 -
scala映射和元组
与列表一样,元组也是不可变的,但与列表不同的是元组可以包含不同类型的元素,元组的值是通过将单个的值包含在圆括号中构成的原创 2023-01-21 12:59:57 · 176 阅读 · 0 评论 -
scala数组
多维数组一个数组中的值可以是另一个数组,另一个数组的值也可以是一个数组。声明一个字符串类型的数组,数组长度为3,可存储3个元素。,也可以插入任意多的元素,插入的元素从第二个参数开始编写即可;对于长度需要变化的数组,Scala中使用的数据结构为。来在数组尾部添加元素,若添加多个元素,则需要用。Scala数组的声明,若数组长度固定,则使用。声明一个空的变长数组,用于存放整数。时,需要先构建一个变长数组,然后调用。可以将一个数组转换成一个变长数组。若数组长度可能有变化,则使用。代表移除了数组的最后五个元素;原创 2023-01-20 16:04:56 · 1525 阅读 · 0 评论 -
scala类与对象
类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。类是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模板。方法,可以用那个定制的方法替换掉字段的定义,而不必修改实用类的客户端,达到“统一访问原则”。在Scala中,我们必须初始化字段,方法默认是共有的,类并不声明为。Scala中使用单例模式时,除了定义的类之外,还要定义一个同名的。当单例对象与某个类共享同一个名称时,它被称作是这个类的伴生对象。关键字来创建类的对象。对象,它和类的区别是,原创 2023-01-20 15:48:15 · 1978 阅读 · 0 评论 -
scala变量
Scala 访问修饰符基本和Java的一样,分别有:private,protected,public。Scala 中的 private 限定符,比 Java 更严格,在嵌套类情况下,外层类甚至不能访问被嵌套类的私有成员。变量是一种使用方便的占位符,用于引用计算机内存地址,变量创建后会占用一定的内存空间。因此,通过给变量分配不同的数据类型,你可以在这些变量中存储整数,小数或者字母。在 Scala 中,使用关键词 “var” 声明变量,使用关键词 “val” 声明常量。其实对比Java 就是加不加final。原创 2023-01-19 15:55:19 · 1654 阅读 · 0 评论 -
scala数据结构
元组也是可以理解为一个容器,可以存放各种相同或不同类型的数据。说的简单点,就是将多个无关的数据封装为一个整体,称为元组, 最多的特点灵 活,对数据没有过多的约束。注意:元组中最大只能有22个元素队列的说明队列是一个有序列表,在底层可以用数组或是链表来实现。原创 2023-01-19 15:48:38 · 1862 阅读 · 0 评论