zoukankan      html  css  js  c++  java
  • 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

      

  • 相关阅读:
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业05
    C语言I博客作业04
    C语言II博客作业04
    C语言II博客作业03
    C语言II博客作业01
    学期总结
    C语言I博客作业08
    C语言I博客作业07
  • 原文地址:https://www.cnblogs.com/wangliansong/p/4725748.html
Copyright © 2011-2022 走看看