Scala基础

scala基础

变量定义

val定义不可变变量

var 定义可变变量

自动推断类型

定义数组时写入类型

def main(args: Array[String]): Unit = {
  val intArr = new Array[Int](3)
  intArr(0) =12
  intArr(1) =13
  intArr(2) =14
  for(i<-0 to 2){
    println(intArr(i))
  }
}

也可以不写入类型

val strArr =  Array("hadoop","scala","spark")
for (i<-0 to 2){
  println(strArr(i))
}

数据结构

多维数组

val myMatrix = Array.ofDim[Int](3,4) // 类型实际是Array[Array[Int]]
println(myMatrix(0)(1)) //取第一行第二列的数据,Int类型未初始化默认是0
val  mycube = Array.ofDim[String](3,2,4)//类型实际是Array[Array[Array[String]]]
println(mycube(0)(0)(0))//String类型默认未null

元组

元组中可以存储多种类型的数据结构

val  tuple = ("BigData",2015,45.0)
println(tuple._1)
println(tuple._2)
println(tuple._3)

元组取值采用scala中对象取值的.和元素存储的位置取值

容器和集合

Collection:容器特质

不存在接口的概念,但有traint(特质)的概念。类似于接口

collcetion有以下几个子类:Seq,Set,Map

Seq:LinerSeq,取头或取尾操作

IndexedSeq随机存取操作

List(列表)是具体的容器类,列表的值不可变的

声明: var strList = List(“hadoop”,“spark”)

var initList= 1::2::3::Nil

在已有列表上增加元素

val otherList = “scala”::strList

Vector(向量)

初始化:

val vec1 = Vector(1,2)

在头部增加元素时会挂在到头部节点

val vec2 =3+:4+:vec1

Range(序列)是一种特殊的带索引的等差序列

初始化

val r = new Range(1,5,1)//定义一个起点为1,终点为5,步长为1 的序列

集合

Set(不可变集合)

初始化时

var mySet = Set(“hadoop”,“spark”)//是不可变对象

Map 映射

var university=Map(“XMU”->“Xiamen University”)

Println(univerty(“XMU”))

参考 中国大学Mooc之spark编程基础

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 博客之星2020 设计师:CY__0809 返回首页