信息来源于 DT大数据梦工厂微信公众账号:DT_Spark
一 Tuple 元祖
在sclal中有用的容器对象是元祖: Tuple,与列表一样,元素也是不可变的,但与列表不同,在一个
元祖可以包含不同类型的元素。所以在scal用的非常多。
def main(args: Array[String]): Unit = {
val triple = (100, "Scala", "Spark");
println(triple._1)
println(triple._2)
println(triple._3)
}
}
|
打印元素通过远祖名( 远祖._1,远祖._2,远祖._3,远祖._* ...)的方式打印出所选的元素。 得到以下返回结果:
100
Scala
Spark
|
二 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));
}
}
|
可以看出索引是从0开始的,到 (array的长度-1)结束的,这点和C,Java都是一样的。运行代码得到如下结果,打印出数组 array里的元素。
i = 1
i = 2
i = 3
i = 4
i = 5
|
也可以通过另外一种方式打印数组,通过 <-箭头访问数组,遍历数组里的元素。
def main(args: Array[String]): Unit = {
val array = Array(1, 2, 3, 4, 5)
for (elem <- array) {
println(elem);
}
}
|
三 Map 映射
Scala中的映射是键/值对的集合。任何值可以根据它的键进行检索。键是在映射唯一的,但值不一定是唯一的。映射也被称为哈希表。
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
|
四 文件的操作
1) 使用 scala.io包下的Source类读取硬盘上的具体文件,此处打印的是 d:\users.txt文件,读取每行的内容并打印到屏幕,代码如下所示:
import scala.io.Source
object Test {
def main(args: Array[String]): Unit = {
val file = Source.fromFile("d:\\users.txt")
for (line <- file.getLines()) {
println(line);
}
}
}
|
注意: 读取的文本文件要经过 UTF-8转码,否则很可能代码包 异常。
打印结果如下,和实际文件中的内容一致。
2)打印制定网址的内容
使用Source.formUrl()方法访问某个网站,读取网页内容并打印到屏幕。
import scala.io.Source
object Test { def main(args: Array[String]): Unit = { val file = Source.fromURL(" https://www.baidu.com/") for (line <- file.getLines()) { println(line); } } } |
打印结果如下所示:
可以把把网页也看做一个文件,这就是对文件的一个基本操作
附上学习视频,供大家参考: