![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
scala
小财迷,嘻嘻
这个作者很懒,什么都没留下…
展开
-
Scala数组、元组与集合
目录1、数组Array2、元组Tuple3、集合3.1 Seq、Set、Map3.2 不可变和可变集合3.2.1 不可变集合3.2.2 可变集合3.3 常用集合1、数组ArrayScala之Array方法2、元组TupleScala元组3、集合3.1 Seq、Set、MapSeq:序列,元素按顺序排列Map:集合,元素不重复Set:映射,键值对集合3.2 不可变和可变集合3.2.1 不可变集合scala.collection.immutable,默认Scala选择不可变集合,如果需原创 2020-12-28 09:48:04 · 333 阅读 · 0 评论 -
Scala之Array方法
文章目录1、基本操作2、++ 合并集合3、++:合并集合,新集合类型由冒号右边的集合类型决定4、+: 在数组前面添加一个元素5、:+ 在数组末尾添加一个元素6、/: 从左到右进行操作 , :\ 从右往左进行操作7、addString 将数组中的元素逐个添加到b中8、addString 将数组中的元素逐个添加到b中,每个元素用sep分隔符分开,可设定开始及结束字符9、aggregate 聚合计算10、apply 取出指定索引处的元素11、canEqual 判断两个对象是否可以进行比较12、cha原创 2020-10-30 13:48:33 · 1300 阅读 · 0 评论 -
ScalaOOP--类、伴生类和伴生对象、特质、协变逆变和不变
文章目录1、Scala面向对象基本概念1.1 类(class)1.1.1类的访问修饰符1.1.2类的定义1.1.3类的继承1.2 抽象类(abstract class)1.3 单例对象(object)1.4 样例类(case class)2、伴生关系:伴生类&伴生对象3、特质(trait)4、型变1、Scala面向对象基本概念1.1 类(class)与java相同:1、类通过class关键字定义2、类通过new关键字创建实例3、类拥有成员变量和方法4、类的成员默认为public,也支持原创 2020-10-27 14:03:26 · 184 阅读 · 1 评论 -
Scala 偏函数和部分函数
文章目录1、偏函数2、部分函数1、偏函数偏函数是只对函数定义域的一个子集进行定义的函数PartialFunction[-A,+B]是一个特质,A是其接受的函数类型,B是其返回的结果类型。偏函数最大的特点就是它只接受和处理其参数定义域的一个子集,而对于这个子集之外的参数则抛出运行时异常。这与Case语句的特性非常契合,因为我们在使用case语句是,常常是匹配一组具体的模式,最后用“_”来代表剩余的模式。如果一一组case语句没有涵盖所有的情况,那么这组case语句就可以被看做是一个偏原创 2020-10-27 13:59:15 · 101 阅读 · 0 评论 -
Scala模式匹配
文章目录1、模式匹配基础语法1.1 基本用法1.2 在模式匹配中使用if守卫--双重过滤1.3 在模式匹配中进行变量赋值2、对类型进行模式匹配3、对Array和List的元素进行模式匹配4、case class与模式匹配5、Option与模式匹配类似于java中的switch case语法。scala的模式不仅可以对值进行匹配,还可以对类型进行匹配。而且对于Spark来说,Scala的模式匹配功能也是极其重要的。1、模式匹配基础语法match case语法最基本的应用,就是对变量的值进行模式匹配。原创 2020-10-27 10:40:46 · 129 阅读 · 0 评论 -
Scala函数定义及使用
文章目录1、Java Lambda表达式2、Scala方法和函数2.1函数定义2.2匿名函数定义2.3参数传递2.3.1传值调用2.3.2传名调用2.3.3参数长度不定2.4命名参数2.5参数缺省值3、高阶函数3.1函数作为参数进行传递3.2函数作为返回值3.3常用高阶函数3.4中置表达式3.5函数嵌套3.6柯里化3.7隐式参数3.8隐式函数3.9闭包3.9.1闭包的定义3.9.2修改自由变量3.9.2修改自由变量1、Java Lambda表达式函数式接口一种只含有一个抽象方法声明的接口可以使用匿名原创 2020-10-26 17:34:19 · 831 阅读 · 0 评论 -
Scala 数组和元组
1、定义数组数组创建方式一:var a1:Array[String] = new Array[String](3)a1(0)="Jason"a1(1)="Marie"a1(2)="Jimmy"注意:1、泛型使用方括号;2、数组元素访问使用圆括号。数组创建方式二:var a2=Array("Jason","Marie","Jimmy")数组创建方式三:区间数组var a3=Array.range(1,10,2)2、数组遍历def main(args: Array[String])原创 2020-10-20 15:29:34 · 514 阅读 · 0 评论 -
Scala入门--变量常量、插值及流程控制
1、Scala概述面向对象特性1、每个值都是对象;2、对象的数据类型和行为由类(Class)和特征(Trait,类似于interface)描述;3、利用特征实现混入式多重继承函数式编程1、每个函数都是一个值;2、支持高阶函数、柯里化(currying)、样例类(case class)及模式匹配Scala是静态类型语言扩展性:隐式类、字符串插值2、Scala变量与常量变量:赋值后可以改变,生命周期中可以被多次赋值var 变量名称:类型=xxx常量:赋值后不可变,类似于Java中原创 2020-10-20 14:08:32 · 222 阅读 · 0 评论 -
搭建Scala开发环境
1、前置条件前置条件:要求jdk环境,IntelliJ IDEA2、下载Scala插件下载与IntelliJ IDEA适配的Scala插件,插件下载地址:https://plugins.jetbrains.com/plugin/1347-scala/versions我的IDEA版本是IntelliJ IDEA 2018.2.2 x64,需要下载对应的适配插件,如果没有2018.2.2的插件,可以选择相近的版本插件,并且建议选择同奇偶数的,比如没有2018.2.2,遵循相近与同奇偶原则建议选择2原创 2020-10-19 15:01:33 · 107 阅读 · 0 评论