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 = (,"Spark","Scala")
//索引从1开始,不是从0开始
println(triple._1)
println(triple._2)
println(triple._3)
//输出:100
// Spark
// Scala
}
}

  

2、Array

  

object ArrayOperations {

  //数组的声明
val array = Array(,,,,)
//数组的遍历(注意until和to的区别,to是闭区间,until是左闭右开)
for(i <- 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 += ( -> "wlssss") //声明一个初始化的map
val ages = Map("Rocky" -> ,"wls" -> )
//遍历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

  

Dream------scala--Tuple、Array、Map与文件操作的更多相关文章

  1. 003-Tuple、Array、Map与文件操作入门实战

    003-Tuple.Array.Map与文件操作入门实战 Tuple 各个元素可以类型不同 注意索引的方式 下标从1开始 灵活 Array 注意for循环的until用法 数组的索引方式 上面的for ...

  2. [原创]Scala学习:Tuple,Array,Map ,文件操作

    1.Tuple:元祖.是一个有用的容器对象. 1)特点:  ① 元祖是不可变的,即,当声明完了一个元祖,那么它的长度就不可以在改变:  ② 元祖可以包含不同类型的数据,对象:   ③ 索引是从 '_1 ...

  3. Tuple,Array,Map,文件操作

    Tuple是一个元组: 1,)一组元组中支持多个元素: 2,)一组元组中可以包含不同类型的元素: 3,)返回下标从_1开始. Array 数组 var items=Array(1,2,3,4) Map ...

  4. Scala编程入门---Map与Tuple

    创建Map //创建一个不可变的Map val ages = Map("Leo" -> 30,"Jen" ->25,"Jack" ...

  5. scala简单的文件操作

    1.scala写入文件操作 package com.test import java.io.File import java.io.PrintWriter /** * scala文件写入 */ obj ...

  6. Scala文件操作

    Scala中的文件操作基本可以依赖于Java的实现,包括输入.输出流的使用. object FileOps {def main(args: Array[String]) { val file = So ...

  7. day3--集合、文件操作、字符编码与转换、函数(递归,lambda,filter,map)、字典排序

    list1 = set([1, 2, 3, 4, 5, 6, 5, 5, 5])list2 = set([11, 2, 36, 'a', 5, 6, 5, 5, 5])list3 = set([1, ...

  8. scala map的常用操作

    package cn.scala_base /** * map常用操作 */ object Map { def main(args: Array[String]): Unit = { //1.不可变m ...

  9. Scala 中Array,List,Tuple的差别

    尽管学了一段时间的Scala了,可是总认为基础不是太扎实,还有非常多的基础知识比較模糊.于是近期又打算又一次学习基础. Scala中的三种集合类型包含:Array,List,Tuple.那么究竟这三种 ...

随机推荐

  1. 如何处理UIVIew addsubview 不显示subview

    老代码: addsubview不显示uilabel -(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSIn ...

  2. JavaWeb基础【1】—— Tomcat

    此笔记是学习黑马程序员JavaWeb系列视频的课堂笔记. 感谢黑马程序员. 一.Tomcat概述 Tomcat服务器由Apache提供,开源免费.由于Sun和其他公司参与到了Tomcat的开发中,所以 ...

  3. Java多线程(三) —— 线程并发库之总体架构

    对java并发库一直觉得很神秘,决定好好研究一下. 参考文献: https://blog.csdn.net/hp910315/article/details/50963095 http://www.b ...

  4. STM32标准外设库、 HAL库、LL库

    工作以来一直使用ST的STM32系列芯片,ST为开发者提供了非常方便的开发库.到目前为止,有标准外设库(STD库).HAL库.LL库 三种.前两者都是常用的库,后面的LL库是ST最近才添加,目前支持的 ...

  5. 【Java并发编程】之一:可重入内置锁

    每个Java对象都可以用做一个实现同步的锁,这些锁被称为内置锁或监视器锁.线程在进入同步代码块之前会自动获取锁,并且在退出同步代码块时会自动释放锁.获得内置锁的唯一途径就是进入由这个锁保护的同步代码块 ...

  6. ibatis解决sql注入问题

    原文: http://blog.csdn.net/scorpio3k/article/details/7610973 对于ibaits参数引用可以使用#和$两种写法,其中#写法会采用预编译方式,将转义 ...

  7. [UVALive 2678] Subsequence

    图片加载可能有点慢,请跳过题面先看题解,谢谢 在切水题的道路上狂奔,一发不可收拾... 这道题好像不用写什么题解吧,吐个槽什么的算了 一眼题,大佬们都不屑于做,只有我这种弱菜才来写这种题目玩儿 记个前 ...

  8. 案例:Redis在京东的使用技术模型图

    http://www.100ec.cn  2013年09月27日17:30  中国电子商务研究中心 我要投稿 产品服务   (中国电子商务研究中心讯)Redis是一个开源的,遵守BSD许可协议的key ...

  9. Map / HashMap 获取Key值的方法

    方法1:keySet()HashMap hashmp = ne HashMap();hashmp.put("aa", "111");Set set = hash ...

  10. 利用Snapshot快速跨Region迁移服务器

    当你需要对现有的网站进行跨区域迁移,或者是部署DR Site的时候,又不希望重新部署应用,有什么好办法呢?其实你可以利用Azure的磁盘snapshot进行磁盘级的复制,这样可以减少很多部署应用的时间 ...