2019.11.30 scala 03

回顾

Array ArrayBuffer
集合:可变集合(collection.mutible)
ListBuffer=>内容和长度都可以改变
不可变集合(collection,immutable)
List=>长度和内容都不可变
**Map:**MapString,String
get=>option[String]
getOrElse(“key”,fefau;tValue)=>String
Set:存储的元素是无序的,且里面的元素是没有重复的
元组中可以分任意类型的数据,最多可以放22个 (1,true," ",object)
获取元组中的元素 tuple._2
**Nile:**空的List
Seq中分为head tail 第一个元素就是head 剩余的都是tail
Option som None: Some和None都是option的子类 获得Some中的值是通过他的get方法
集合相关的API操作 arrregate()(seqOp,combOp)对集合进行某种聚合操作 count(boolean) 返回使符合条件的元素个数。 distinct:对集合中的元素进行去重。 filter(boolean):过滤出符合条件的元素集合 flatMap:对集合进行某种映射操作,然后在进行扁平化操作。 fold:折叠操作 foldLeft:从左到右折叠。 foreach:遍历集合操作。groupBy:按照key进行分组。 grouped:将集合按照Int个数进行分组。 head:获取集合中的头元素。indices:返回集合的角标范围。intersect:请求两个集合的交集。length:返回集合的元素个数。map 对集合进行某种映射操作。mkString:对集合进行格式化输出。nonEmpty:判断集合是否为空。reduce:聚合。reverse:对集合进行反转。 size:返回集合的长度。slice(start,end):截取集合的元素 sortBy(key):集合按照某个Key进行排序。sortWith:将集合按照某种规则进行排序。 sorted:集合按照升序排序。 sum:对集合进行求和操作。tail:返回集合的尾部元素列表。 Zip:拉链操作 相同角标位置的元素组合到一起,返回一个新的集合。

面向对象

scala单例对象
//在scala中的object 是一个单例对象,没办法new
//object中定义的成员变量,和方法都是静态的,可以通过对象名.方法或者.成员变量调用
//语法糖(sugar):apply可以默认调用

scala类
//在scala中定义类的用class关键字修饰,这个类默认有一个空参构造器
//定义在类名称后面的构造器叫主构造器
//类的主构造器中的属性会定义成类的成员变量
//如果主构造器中的成员属性没有val/var修饰,该属性不能被访问,相当于对外没有提供get方法
//定义个辅助构造器,def this()
//在辅助构造器中必须先调用主构造器
//类的构造器访问权限: 在构造器钱加修饰权限,private 在主构造器前,这说明该类的主构造器是私有的,外部类或外部对象不能访问
//在伴生对象中可以访问类的私有成员方法和属性
//private[包名]标识这个类在这个包名及其子包下可见(可访问)
//private[this] 标识这个类在当前包下都可见,当前包下的子包不可见
//伴生对象可以访问类中的私有方法private,不能访问private[this]修饰的成员变量和方法。当object的名称和类的名称一致的时候,这个对象叫着这个类的伴生对象(必须在同一个文件中)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值