scala语言学习

编程范式:命令式编程(c++,java,c),函数式编程

命令式编程:冯诺伊曼体系

函数式编程:图灵计算。lamada计算

数据计算量大,实时性要求高,cpu计算能力不断提升

函数式编程:发挥多核cpu多线程并发能力,变量不可更改

命令式编程:多线程之间的状态共享,锁机制进行并发控制

简介

类似java的范式语言

martin odersky开发

面向对象,函数式编程两个风格

运行在java虚拟机上,兼容java

并发行号,轻量级函数(lamada表达式)

容器与序列

特质(Trait):没有被实现

foreach方法 容器遍历,列表继承容器

seq按0,1,2索引,map按键索引,set无序

序列容器从seq继承(LinearSeq,IndexedSeq)

LinearSeq:取头尾。。派生列表和队列

IndexedSeq:无序。。派生vector,ArrayBuffer

输入输出

scala语言学习01

scala语言学习01

控制结构

scala语言学习01

scala语言学习01
scala语言学习01

数组

scala语言学习01

scala语言学习01

元祖

scala语言学习01

列表

具体容器类

共享相同类型的不可变的对象序列

列表的值不可变

定义在包scala.collection.immutable下

初始化时就要复制

var slist=List(“a”,“b”)

挂结列表:var strlist=“s”::slist

scala语言学习01

向量

scala语言学习01

range

scala语言学习01

集合

哈希方法

可变集,不可变集

不可变集+可变变量

可变变量指向不可变集

scala语言学习01

可变集+不可变变量

导入scala.collection.immutable.Set

没有改变变量本身,改变指针指向。。。。我尝试的时候不可以

scala语言学习01

映射

默认不可变

可变:scala.collection.mutable

不可变:scala.collection.immutable

先调用contains方法,确定键是否存在

scala语言学习01

相关文章:

  • 2021-07-24
  • 2021-02-28
  • 2022-12-23
  • 2021-08-16
  • 2019-06-19
  • 2021-12-20
  • 2021-07-09
猜你喜欢
  • 2022-12-23
  • 2021-08-25
  • 2021-07-08
  • 2021-06-27
  • 2021-06-19
  • 2021-11-16
  • 2021-04-23
相关资源
相似解决方案