Scala
文章平均质量分 88
Scala入门
孤岛使者
新加坡国立大学计算机学院硕士
展开
-
十八、Scala的Iterable、Seq、Set、Map集合
Scala的Iterable、Seq、Set、Map集合1. Iterable1.1 概述1.2 分类1.3 遍历集合1.4 分组遍历1.5 按照索引生成元组1.6 判断集合是否相同2. Seq2.1 概述2.2 分类2.3 创建Seq集合2.4 获取长度及元素2.5 获取指定元素的索引值2.6 判断是否包含指定数据2.7 修改指定的元素3. Stack3.1启动scala解释器3.2执行scala代码3.3退出解释器4. Queue4.1需求4.2目的4.3代码5. Set5.1 概述5.2 分类6. M原创 2021-11-15 15:14:36 · 1179 阅读 · 0 评论 -
十七、Scala的Traversable集合
Scala的集合1. 集合1.1 概述1.2 分类2. Traversable2.1 概述2.2 格式2.3 创建Traversable对象2.4 转置Traversable集合2.5 拼接集合2.6 利用偏函数筛选元素2.7 计算集合元素的阶乘2.8 获取集合的指定元素2.9 判断元素是否合法2.10 聚合函数2.11 集合类型转换2.12 填充元素3. 案例:随机学生序列1. 集合1.1 概述很多编程语言都提供了数据结构的对应编程库,并称之为集合库(Collection Library)。Sca原创 2021-11-01 13:12:48 · 472 阅读 · 0 评论 -
十六、Scala的泛型
Scala的泛型1. 泛型1.1 泛型方法1.2 泛型类1.3 泛型特质2. 上下界2.1 上界2.2 下界3. 协变、逆变、非变3.1 非变3.2 协变3.3 逆变4. 案例:列表去重排序1. 泛型泛型指泛指某种具体的数据类型,在Scala中泛型用[数据类型]表示。实际开发中,泛型一般是结合数组或集合来使用的,此外,泛型的常见用法还有以下三种:泛型方法泛型类泛型特质1.1 泛型方法泛型方法指把泛型定义到方法声明上,即该方法的参数类型是由泛型来决定的。在调用方法时,明确具体的数据类型。原创 2021-10-30 15:50:41 · 1957 阅读 · 0 评论 -
十四、Scala的隐式转换和隐式参数
Scala的隐式转换和隐式参数1. 隐式转换1.1概述1.2语言特点2. 隐式参数2.1程序的执行流程对比2.2代码对比3. 案例:获取列表元素平均值3.1启动scala解释器3.2执行scala代码3.3退出解释器1. 隐式转换1.1概述1.2语言特点2. 隐式参数2.1程序的执行流程对比2.2代码对比3. 案例:获取列表元素平均值3.1启动scala解释器3.2执行scala代码3.3退出解释器...原创 2021-10-29 10:47:05 · 194 阅读 · 0 评论 -
十三、Scala的高阶函数(作为值的函数、匿名函数、柯里化、闭包和控制抽象)
Scala的高阶函数(作为值的函数、匿名函数、柯里化、闭包和控制抽象)1. 高阶函数介绍2. 作为值的函数3. 匿名函数4. 柯里化5. 闭包6. 控制抽象7. 案例:计算器1. 高阶函数介绍Scala混合面对对象和函数式的特性,在函数式编程语言中,函数是“头等公民”,它和Int、String、Class等其他类型处于同等的地位,可以和其他类型的变量一样被传递和操作。简单说,如果一个函数的参数列表可以接收函数对象,那这个函数称作高阶函数(Higher-Order Function)。比如之前学到的ma原创 2021-10-28 16:56:47 · 339 阅读 · 0 评论 -
十一、Scala的模式匹配、偏函数、正则表达式、异常处理和提取器
Scala的模式匹配、偏函数、正则表达式、异常处理和提取器1. 模式匹配1.1 简单模式匹配1.2 匹配类型1.3 守卫1.4 匹配样例类1.5 匹配集合1.6 变量声明中的模式匹配1.7 匹配for表达式2. Option类型2.1程序的执行流程对比2.2代码对比3. 偏函数3.1启动scala解释器3.2执行scala代码3.3退出解释器4. 正则表达式4.1需求4.2目的4.3代码5. 异常处理6. 提取器(Extractor)7. 案例:随机职业1. 模式匹配1.1 简单模式匹配1.2 匹配原创 2021-10-28 15:45:07 · 336 阅读 · 0 评论 -
九、Scala的包和样例类
Scala的包和样例类1. 包1.1概述1.2语言特点2. 样例类2.1程序的执行流程对比2.2代码对比3. 样例对象3.1启动scala解释器3.2执行scala代码3.3退出解释器4. 案例:计算器4.1需求4.2目的4.3代码1. 包1.1概述1.2语言特点2. 样例类2.1程序的执行流程对比2.2代码对比3. 样例对象3.1启动scala解释器3.2执行scala代码3.3退出解释器4. 案例:计算器4.1需求4.2目的4.3代码...原创 2021-10-25 17:33:46 · 260 阅读 · 0 评论 -
十、Scala的数组、元组、列表、集、映射、迭代器和函数式编程
Scala的数组、元组、列表、集、映射、迭代器和函数式编程1. 数组1.1 定长数组1.2 变长数组1.3 遍历数组1.4 数组常用算法2. 元组2.1 格式2.2 访问元组中的元素3. 列表3.1 不可变列表3.2 可变列表3.3 列表的常用操作4. 集4.1需求4.2目的4.3代码5. 映射6. 迭代器7. 函数式编程8. 案例:学生成绩单1. 数组数组是用来存储多个同类型元素的容器。每个元素都有编号/下标/脚标/索引,且编号都是从0开始数的。1.1 定长数组特点:数组长度不允许改变数组原创 2021-10-25 14:44:41 · 774 阅读 · 0 评论 -
八、Scala的特质
Scala的特质1 特质入门1.1 概述1.2 特点1.3 语法1.4 示例:类继承单个trait1.5 示例:类继承多个trait1.6 示例:object继承trait1.5 示例:演示trait中的成员2. 对象混入trait2.1程序的执行流程对比2.2代码对比3. 使用trait实现适配器模式3.1启动scala解释器3.2执行scala代码3.3退出解释器4. 使用trait实现模板方法模式4.1需求4.2目的4.3代码5. 使用trait实现职责链模式6. trait的构造机制7. trait原创 2021-10-21 15:11:19 · 195 阅读 · 0 评论 -
七、Scala的继承和抽象类
Scala的继承和抽象类1. 继承1.1 语法1.2 类继承1.3 单例对象继承1.4 方法重写2. 类型判断2.1 isinstanceOf和asinstanceOf2.2 getClass和classOf3. 抽象类4.匿名内部类5. 案例:动物类1. 继承1.1 语法Scala中使用extends关键字实现继承可以在子类中定义父类中没有的字段和方法,或者重写父类的方法类和单例对象都可以有父类语法:class/object A类 extends B类 { //子承父业 ..}原创 2021-10-20 15:29:35 · 470 阅读 · 0 评论 -
六、Scala的类和对象
Scala的类和对象1.类和对象1.1 相关概念1.2 创建类和对象1.3 简写方式2.定义和访问成员变量3. 使用下划线初始化成员变量4. 定义和访问成员方法5. 访问修饰符6. 类的构造器6.1 主构造器6.2 辅助构造器7. 单例对象7.1 定义单例对象7.2 在单例对象中定义方法8. main方法8.1 定义main方法8.2 继承App特质9.伴生对象9.1 定义伴生对象9.2 private[this]访问权限9.3 apply方法10. 案例:定义工具类1.类和对象1.1 相关概念面向原创 2021-10-20 10:28:01 · 393 阅读 · 0 评论 -
五、Scala的函数
Scala的函数1.方法1.1 语法格式1.2 返回值类型判断1.3 惰性方法1.4 方法参数1.4.1 默认参数1.4.2 带名参数1.4.3 变长参数1.5 方法调用方式1.5.1 后缀调用法1.5.2 中缀调用法1.5.3 花括号调用法1.5.4 无括号调用法2.函数2.1 定义函数2.2 方法和函数的区别2.3 方法转换为函数3. 案例:打印nn乘法表1.方法1.1 语法格式def 方法名(参数名:参数类型, 参数名:参数类型) : [return type] = { //方法体}注原创 2021-10-19 13:28:37 · 197 阅读 · 0 评论 -
四、Scala流程控制结构
Scala流程控制结构1.顺序结构1.1概述1.2语言特点2.选择结构2.1程序的执行流程对比2.2代码对比3.循环结构3.1启动scala解释器3.2执行scala代码3.3退出解释器4.案例4.1需求4.2目的4.3代码1.顺序结构1.1概述1.2语言特点2.选择结构2.1程序的执行流程对比2.2代码对比3.循环结构3.1启动scala解释器3.2执行scala代码3.3退出解释器4.案例4.1需求4.2目的4.3代码...原创 2021-10-19 10:21:35 · 245 阅读 · 0 评论 -
三、Scala的运算符
Scala的运算符1.算术运算符2 赋值运算符3.关系运算符4.逻辑运算符5.位运算符5.1铺垫知识5.1.1进制5.1.2 8421码5.1.3整数的原码、反码、补码计算规则5.2 位运算符运算符:用来拼接变量或常量的符号表达式:通过运算符连接起来的式子注意:在Scala中,运算符并不仅仅是运算符,也是函数的一种Scala中没有三元运算符,被if-else代替了1.算术运算符注意:Scala中是没有++,–这两个算术运算符的,这点和Java不一样整数相除的结果,还是整数;如原创 2021-10-18 14:12:37 · 763 阅读 · 0 评论 -
二、Scala基础语法
Scala基础语法1.输出语句和分号1.1输出语句1.2分号2 Scala中的常量2.1分类2.2代码演示3.Scala中的变量3.1语法格式3.2使用类型推断来定义变量4.字符串4.1定义字符串的方式4.2扩展:惰性赋值5.标识符5.1命名规则5.2命名规范6.数据类型6.1数据类型6.2 Scala类型层次结构7.类型转换7.1自动类型转换7.2强制类型转换7.3值类型和String类型之间的相互转换8.键盘输入1.输出语句和分号1.1输出语句方式一:换行输出格式:println(里边写你要打原创 2021-10-18 13:07:45 · 363 阅读 · 0 评论 -
一、Scala简介
Scala简介1.Scala简介1.1概述1.2语言特点2 Scala程序和Java程序对比2.1程序的执行流程对比2.2代码对比3.Scala解释器3.1启动scala解释器3.2执行scala代码3.3退出解释器4.案例4.1需求4.2目的4.3代码1.Scala简介1.1概述Scala 是一门基于 JVM 的多范式编程语言,通俗的说:Scala 是一种运行在 JVM 上的函数式的面向对象语言,之所以这样命名是因为它的设计目标是:随着用户的需求一起成长。Scala 可被广泛应用于各种编程任务,从原创 2021-10-18 10:23:21 · 280 阅读 · 0 评论