scala语言学习01

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.collection.immutable下

初始化时就要复制

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

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

在这里插入图片描述

向量

在这里插入图片描述

range

在这里插入图片描述

集合

哈希方法

可变集,不可变集

不可变集+可变变量

可变变量指向不可变集

在这里插入图片描述

可变集+不可变变量

导入scala.collection.immutable.Set

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

在这里插入图片描述

映射

默认不可变

可变:scala.collection.mutable

不可变:scala.collection.immutable

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

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值