当前位置: 首页 > news >正文

Scala语言(二)

控制结构

if语句

 

while循环

 

for循环

 

 

异常处理

受检异常是在写代码的时候,编程人员必须明确,自己就能清楚地知道,代码在执行过程当中可能会抛出哪些错误。并且对每一个可能抛出的错误都要给出处理方法

不受检异常不是在编译阶段抛出来,是在运行阶段抛的

 

Scala把所有异常都当做不受检异常。 

 

Scala对循环控制没有break和continue

 

数据结构

数组

引用数组元素是用圆括号()

 

元组

       数组是都是同一类型的值的集合。但如果我们需要一个集合中元素的类型是不相同的,这个时候就必须用到一个叫元组的数据结构

在Spark编程中会经常用到元组

 

容器

scala.colletion封装了一些超类或特质,定义了一些可变容器和不可变的一些通用操作

这些还属于特质,具体的容器类会从特质往下继承

 Scala当中没有接口的概念,由特质概念和接口相似

 

最顶层有一个叫Traversable的特质

List类(举个例子)是层层继承下来的

Traversable特质中定义的抽象方法foreach,用来遍历容器内部的元素,那么任何一个容器类,是从Traversable继承下来的,那你在实现容器类的时候,必须把foreach方法实现了。所以seq、set、map的区别就在于元素的索引方式不同(就是对于foreach的实现方式不同)

            

 

List

列表属于具体的容器类了,而不是特质了

特点:

声明的时候就要初始化

 

 

构造列表的常用方法

没有覆盖原来旧的strList,生成新的副本

得到

快速得到一个列表

 

向量

:+与+:

 

Range

        一种特殊的带索引的不可变数字等差序列

 

Range可以支持不同类型的数值序列

 

until是不包含右重点

 

集合

var mySet = Set("Hadoop","Spark")是生成不可变集的对象

mySet是可变的变量(开始指向了不可变集,后来又指向了一个新的增加了Scala的不可变集)

生成可变集

不可变类型的变量指向了一个可变集。这次是指针没有变,但是指针指向的数据集变了

 

映射(Map)

相关文章:

  • Scala语言(三)
  • Python——virtualenv/virtualenvwrapper
  • Python多进程(multiprocessing)(mp)(一) —— 进程的创建 join()方法
  • Python多进程(multiprocessing)(mp)(二) —— 创建多进程 继承process类 进程池(Pool)
  • Python多进程(multiprocessing)(mp)(三) —— 进程间通信 Queue队列(Manager)
  • Python多线程(二): 线程同步 生产者消费者模式 ThreadLocal线程局部变量
  • 爬虫url去重策略
  • 爬虫中的深搜和广搜
  • Objective-C
  • MyOS(四):让内核突破512字节的限制
  • Go语言实现并发(协程)
  • 汇编语言相关知识
  • 面向对象的意义
  • 文本大数据挖掘项目(Go语言)
  • Python网络编程
  • es6(二):字符串的扩展
  • gulp 教程
  • IDEA 插件开发入门教程
  • Java基本数据类型之Number
  • jquery cookie
  • pdf文件如何在线转换为jpg图片
  • webgl (原生)基础入门指南【一】
  • 对JS继承的一点思考
  • 复习Javascript专题(四):js中的深浅拷贝
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 面试遇到的一些题
  • 移动端 h5开发相关内容总结(三)
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​力扣解法汇总946-验证栈序列
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • (二十三)Flask之高频面试点
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (离散数学)逻辑连接词
  • **CI中自动类加载的用法总结
  • .NET 8.0 发布到 IIS
  • .NET Core跨平台微服务学习资源
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .net经典笔试题
  • .net开发引用程序集提示没有强名称的解决办法
  • .so文件(linux系统)
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(朱雀组)
  • [ vulhub漏洞复现篇 ] ECShop 2.x / 3.x SQL注入/远程执行代码漏洞 xianzhi-2017-02-82239600
  • [④ADRV902x]: Digital Filter Configuration(发射端)
  • [bzoj 3124][sdoi 2013 省选] 直径
  • [C++]高精度 bign (重载运算符版本)
  • [C++基础]-初识模板
  • [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated c
  • [Firefly-Linux] RK3568 pca9555芯片驱动详解
  • [flume$2]记录一个写自定义Flume拦截器遇到的错误
  • [Gym-102091E] How Many Groups
  • [Java][Android][Process] ProcessBuilder与Runtime差别
  • [Latex] Riemann 问题中的激波,接触间断,膨胀波的 Tikz 绘图
  • [TestLink]搭建指南(ubuntu)