1.Tuple:元祖。是一个有用的容器对象。

  1)特点:

    ① 元祖是不可变的,即,当声明完了一个元祖,那么它的长度就不可以在改变;

    ② 元祖可以包含不同类型的数据,对象;

    ③ 索引是从 '_1' 开始,读取元祖中的内容

    ④标识:' () '

  2)代码

   //元祖
def doTuple() {
//'()' 定义元祖
val pair = (100, "scala", "spark") //元祖的类型val pair: (Int, String, String) 由scala类型推倒
println(pair._1)
println(pair._2)
}

   

2.Array:类型参数化数组

  1)特点: 

      ①参数化的意思是指创建实例的同时完成对它的“设置”,即赋值;

    ②scala数组通过索引值加圆括号进行访问,array(i);有别于java中的方括号;

   ③Array长度不可变,但是它的值可变;

  2)代码:

   //数组
def doArray() {
//通过Array 关键字定义数组
val array = Array(1, 2, 3, 4, 5)
// for(i <- 0 until array.length){
// println(array(i))
// } // 增强for循环,推荐
for (elemt <- array) println(elemt) }

3.Map

  //map操作
def doMap() {
//通过Map关键字 定义一个Map
val ages = Map("jason" -> 27, "hadoop" -> 20) for ((k, v) <- ages) println("key is :" + k + ", hadoop is :" + v) //key is :jason, hadoop is :27 key is :hadoop, hadoop is :20 // "_ " 是一个占位符
// for((k,_) <- ages) println("key is :"+ k )//key is :jason key is :hadoop }

函数式编程:方法没有副作用是函数式风格 编程的重要思想,计算并返回值应该是方法的唯一目的。

  1.方法之间的耦合度降低,更加可靠和易于重用

  2.(在静态类型语言里)方法的参数和返回值都要经过检查器的检查,因此,可以比较容易的根据类型错误推断其中隐含的逻辑错误

4.文件的操作:source类中的静态方法

  def doFile() {

     // 通过scala.io.Source 对象
val file = Source.fromFile("E:\\java_workspase\\scalaProgramWorkSpace\\test.txt")
for (line <- file.getLines()) println(line) }

[原创]Scala学习:Tuple,Array,Map ,文件操作的更多相关文章

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

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

  2. Windows phone 8 学习笔记(2) 数据文件操作

    原文:Windows phone 8 学习笔记(2) 数据文件操作 Windows phone 8 应用用于数据文件存储访问的位置仅仅限于安装文件夹.本地文件夹(独立存储空间).媒体库和SD卡四个地方 ...

  3. [Scala]Scala学习笔记三 Map与Tuple

    1. 构造映射 可以使用如下命令构造一个映射: scala> val scores = Map("Alice" -> 90, "Kim" -> ...

  4. Windows phone 8 学习笔记(2) 数据文件操作(转)

    Windows phone 8 应用用于数据文件存储访问的位置仅仅限于安装文件夹.本地文件夹(独立存储空间).媒体库和SD卡四个地方.本节主要讲解它们的用法以及相关限制性.另外包括本地数据库的使用方式 ...

  5. Hadoop学习笔记之二 文件操作

    HDFS分布式文件系统:优点:支持超大文件存储.流式访问.一次写入多次读取.缺点:不适应大量小文件.不适应低时延的数据访问.不适应多用户访问任意修改文件. 1.hadoop用于大数据处理,在数据量较小 ...

  6. C# 好代码学习笔记(1):文件操作、读取文件、Debug/Trace 类、Conditional条件编译、CLS

    目录 1,文件操作 2,读取文件 3,Debug .Trace类 4,条件编译 5,MethodImpl 特性 5,CLSCompliantAttribute 6,必要时自定义类型别名 目录: 1,文 ...

  7. python学习笔记(十)、文件操作

    在前面我们了解到了没得模块,其中有一个模块为fileinput,为文件操作模块,不知道小伙伴们是否还记得? 1 打开文件 要打开文件,可以使用fileinput中的fileinput.input函数进 ...

  8. Python学习(五) —— 文件操作

    一.文件操作 1.文件操作:数据持久化的一种      步骤:找到文件,打开文件,操作:读.写.追写,关闭文件      打开文件:f = open(文件路径,操作模式,编码方式),f:文件句柄.文件 ...

  9. Python学习—基础篇之文件操作

    文件操作 文件操作也是编程中需要熟练掌握的技能,尤其是在后台接口编写和数据分析过程中,对各种类型的文件进行操作,获取文件信息或者对信息进行存储是十分重要的.本篇博客中将主要对常见的文本格式文件和Exc ...

随机推荐

  1. Java + Selenium + Appium手机自动化测试

    一.启动测试机或者Android模拟器(Genymotion俗称世界上最快的模拟器,可自行百度安装) 二.启动Appium(Appium环境安装可自行百度) 三.安装应用到Genymotion上,如下 ...

  2. MongoDB启动及用户名密码设置

    1.服务启动 下载后的安装步骤,请参见mongoDB安装详细教程 启动服务NET START MongoDB 关闭服务NET STOP MongoDB 启动客户端mongo MongoDB shell ...

  3. Redis的订阅发布

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using ServiceS ...

  4. json字符串传值到后台出现乱码的问题的解决方法

    1.原因:前台的编码是ISO-8859-1,后台的编码是UTF-8,所以会冲突 2.解决方法:先用ISO-8859-1解码成字节数组,再转成UTF-8编码格式 String strw = new St ...

  5. SetTimer时间间隔的问题

    1.用WM_TIMER来设置定时器   SetTimer函数的原型 UINT_PTR SetTimer( HWND hWnd,                      // 窗体句柄 UINT_PT ...

  6. UFLDL深度学习笔记 (五)自编码线性解码器

    UFLDL深度学习笔记 (五)自编码线性解码器 1. 基本问题 在第一篇 UFLDL深度学习笔记 (一)基本知识与稀疏自编码中讨论了激活函数为\(sigmoid\)函数的系数自编码网络,本文要讨论&q ...

  7. C# 代码 手工 配置 Log4Net 2种方法

    这个初始化要在 获取 ILog 接口的代码之前完成, 之后按通常方式使用 log4net 就行了. 不用携带 config 配置文件. 方法1: /// <summary> /// 使用文 ...

  8. EasyAR SDK在unity中的简单配置及构建一个简单场景。

    首先打开EasyAR的官方网站http://www.easyar.cn/index.html,注册登陆之后,打开首页的开发页面. 下载sdk和Unity Samples. 创建一个unity3d工程N ...

  9. JAVA中sleep() 和 wait() 有什么差别?

    (网上的答案:sleep是线程类(Thread)的方法,导致此线程暂停运行指定时间,将运行机会给其它线程.可是监控状态依旧保持,到时后会自己主动恢复.调用sleep不会释放对象锁. wait是Obje ...

  10. 【BZOJ1000】A+B Problem ★BZOJ1000题达成★

    [BZOJ1000]A+B Problem Description 输入两个数字,输出它们之和 Input 一行两个数字A,B(0<=A,B<100) Output 输出这两个数字之和 S ...