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

本文介绍了Scala中的Tuple、Array、Map的使用,包括元祖的创建与元素访问,数组的初始化与遍历,映射的键值对操作。此外,还讲解了文件操作,如使用Source类读取本地文件和远程URL内容。
摘要由CSDN通过智能技术生成
信息来源于 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
元祖可以同时拥有Int 和 String. 这点与java不同,如果在java中,需要经常创建一个javaBean的类去装多个返回值,而在Scala中就可以简单地额返回一个元祖。这样做就简单了许多,实例化一个装有一些新对象的新元祖,只要把这写对象放在括号里,并用都好分隔即可。
 
二 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);
    }
  }

}
打印结果如下所示:
   可以把把网页也看做一个文件,这就是对文件的一个基本操作
 
附上学习视频,供大家参考:
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值