Dream------scala--Tuple、Array、Map与文件操作

1、Tuple(元组)

  一般使用中,假设一个函数返回多个值,我们可以使用tuple接受这个(val (x,y) = myfunction)

package com.wls.scala.hello

/**
 * Created by wls on 2015年8月12日21:31:56.
 */
object TupleOps {

  def main(args : Array[String]): Unit ={
    //可以放任意多个元素-------------scala一个强大能力,类型推到,可以根据值来判断变量的类型(比如:100他会识别为int,Spark他会识别为String)
    val triple = (100,"Spark","Scala")
    //索引从1开始,不是从0开始
    println(triple._1)
    println(triple._2)
    println(triple._3)
    //输出:100
    //      Spark 
    //      Scala
  }
}

  

2、Array

  

object ArrayOperations {

  //数组的声明
  val array = Array(1,2,3,4,5)
  //数组的遍历(注意until和to的区别,to是闭区间,until是左闭右开)
    for(i <- 0 until array.length){
      println(array(i))
    }
  //一般这个用的比较多
  for(elem <- array){
    println(elem)
  }
}

 

3、Map

  

object MapOperations {

  def main(args : Array[String]): Unit ={
    //声明一个空的map
    var myMap :Map[Int,String] = Map()
    //给map赋值
    myMap += (1 -> "wlssss")
    
    
    //声明一个初始化的map
    val ages = Map("Rocky" -> 27 ,"wls" -> 26)
    //遍历map----(key,value)就可以看成是一个Tuple
    for((key,value) <- ages){
      println("Key is "+key +",value is "+ value)
    }
  //"_"是占位符,这种写法只能引用k,取不到value的
for((k,_) <- ages ){ println("Key is " + k) } } }

 

4、文件

//需要引入这个包
import scala.io.Source

/**
 * Created by Administrator on 2015/8/12.
 */
object FileOps {

  def main(args : Array[String]): Unit ={
    //读取本地文件
    val file = Source.fromFile("E:/data/apache.org/index.html")
    val fileURL = Source.fromURL("http://www.cnblogs.com/wangliansong/")
    //按行读取文件,并输出,实际上就是输入文件内容,并且按原来的行格式
    for(line <- file.getLines()){
      println(line)
    }
    //会打印出这个网页的内容
    for(lineURL <- fileURL.getLines()){
      println(lineURL)
    }
  }
}

  

  

相关来源:

DT大数据梦工厂,微信公众号是:DT_Spark,每天都会有大数据实战视频发布,请您持续学习。
相关资料:
scala深入浅出实战经典完整视频、PPT、代码下载:
百度云盘:http://pan.baidu.com/s/1c0noOt6
腾讯微云:http://url.cn/TnGbdC
360云盘:http://yunpan.cn/cQ4c2UALDjSKy  访问密码45e2

 

 

 

 

  

posted @ 2015-08-12 22:20  拼命@三郎  阅读(408)  评论(0编辑  收藏  举报