Scala学习第三天 Tuple、Array、May与文件操作入门实战

信息来源于 DT大数据梦工厂微信公众账号:DT_Spark
DT大数据梦工厂群号:302306504王家林老师微信号:wangjialinandroid
1、Tuple 元组
Tuple是Scala的容器对象之一,元组中可以有很多的数据,索引是从_1开始,不同于Java的数组,是从0开始的,而且元组可以包含不同类型的元素,十分灵活。

def main(args: Array[String]): Unit = {
    val triple = (100, "Scala", "Spark");
    println(triple._1)
    println(triple._2)
    println(triple._3) 
  } 
}   
//得到以下返回结果:
100
Scala
Spark

2、Array 数组
scala里面的数组和java里面的比较类似,但是又有些不同,数组的初始化方法比java里面多了一种方式,具体如下:

def main(args: Array[String]): Unit = {
    val array = Array(1, 2, 3, 4, 5) 
    for (i <- 0 to (array.length - 1)) {
      println("i = " + array(i));
    }
}
//运行代码得到如下结果,打印出数组 array里的元素。
i = 1
i = 2
i = 3
i = 4
i = 5

另一个简便的打印出数组array里元素的方法:

def main(args: Array[String]): Unit = {
    val array = Array(1, 2, 3, 4, 5)
    for (elem <- array) {
         println(elem);
    }
}

3、Map 映射
Scala中的映射是key/value键值对的集合。任何值可以根据它的键进行检索。key唯一,但value不一定是唯一的。

def main(args: Array[String]): Unit = {
    var ages = Map("Rocky" -> 27, "Spark" -> 5)
    for ((k, v) <- ages) {
      println("Key is " + k + ", value is " + v)
    }
  }
 //这段代码是打印出映射对应的key和value ,运行代码,得到以下结果:
 Key is Rocky, value is 27
 Key is Spark, value is 5

如果不想打印出value,可以用占位符_,不代表具体名称,只是为变量占个位。

for ((k, _) <- ages) { println("Key is " + k + ", value is " + v) } }

4、文件操作
1) 使用 scala.io包下的Source类读取硬盘上的具体文件,此处打印的是 d:\test.txt文件,读取每行的内容并打印到屏幕,代码如下所示:

import scala.io.Source

object Test {
  def main(args: Array[String]): Unit = {
    val file = Source.fromFile("d:\\test.txt")
    for (line <- file.getLines()) {
      println(line);
    }
  }
}

Scala 深入浅出实战经典(1-64讲)完整视频、PPT、代码下载:

百度云盘:http://pan.baidu.com/s/1c0noOt6

腾讯微云:http://url.cn/TnGbdC

360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2

你可能感兴趣的:(scala,array,文件操作,Tuple,may)