Object&Class
1.object与静态类相似
2.object可以用类名加方法直接调用,不用new对象。
同名:“伴生”
称为:object是class的伴生对象,class是object的伴生类
ApplyApp()
==> 伴生对象()是没有new的,其实底层调用的就是伴生Object里面的apply方法
class和object都可以定义apply方式
Object() ==> 调用的是Object里面的apply
val a = new ClassA() a() ==> 调用的是Class里面的apply方法
var randomnum=ArrayBuffer("00","01","02","03","04","05","06","07","08","09")
var traffic=ArrayBuffer("a","b","c","d","e","f","g","h","i","j","k")
//底层自动调用了apply方法
关于集合需要掌握的内容:
1)如何创建
2)如何赋值
3)如何取值
数组
定长数组: Array
val a = new Array[String](5)
变长数组: ArrayBuffer
需要导入一个包:import scala.collection.mutable.ArrayBuffer
var a= new ArrayBuffer[String]()
变长+定长数据采用++=命令,同理,有--=命令
trait 接口
List
Nil定义一个空的list
head:返回list的第一个元素
tail:返回的是去掉head之外的list
List = head + tail
定长: List
变长:ListBuffer
变长+定长数据采用++=命令,同理,有--=命令
举个例子:
Set: Scala Set(集合)是没有重复的对象集合,所有的元素都是唯一的。
如果需要使用可变集合需要引入 scala.collection.mutable.Set
set vs list
set:无序、不重复
list:有序,可重复
Set的简单操作
Map:键值对 key-value
也分为定长和变长,若用变长需导入以下包:
scala.collection.mutable.HashMap
以下是定长map的赋值与查询:(定长中不可修改值)
以下是变长map的定义,赋值,查询和修改: