[原创]Scala学习:Tuple,Array,Map ,文件操作
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 ,文件操作的更多相关文章
- Tuple,Array,Map,文件操作
Tuple是一个元组: 1,)一组元组中支持多个元素: 2,)一组元组中可以包含不同类型的元素: 3,)返回下标从_1开始. Array 数组 var items=Array(1,2,3,4) Map ...
- Windows phone 8 学习笔记(2) 数据文件操作
原文:Windows phone 8 学习笔记(2) 数据文件操作 Windows phone 8 应用用于数据文件存储访问的位置仅仅限于安装文件夹.本地文件夹(独立存储空间).媒体库和SD卡四个地方 ...
- [Scala]Scala学习笔记三 Map与Tuple
1. 构造映射 可以使用如下命令构造一个映射: scala> val scores = Map("Alice" -> 90, "Kim" -> ...
- Windows phone 8 学习笔记(2) 数据文件操作(转)
Windows phone 8 应用用于数据文件存储访问的位置仅仅限于安装文件夹.本地文件夹(独立存储空间).媒体库和SD卡四个地方.本节主要讲解它们的用法以及相关限制性.另外包括本地数据库的使用方式 ...
- Hadoop学习笔记之二 文件操作
HDFS分布式文件系统:优点:支持超大文件存储.流式访问.一次写入多次读取.缺点:不适应大量小文件.不适应低时延的数据访问.不适应多用户访问任意修改文件. 1.hadoop用于大数据处理,在数据量较小 ...
- C# 好代码学习笔记(1):文件操作、读取文件、Debug/Trace 类、Conditional条件编译、CLS
目录 1,文件操作 2,读取文件 3,Debug .Trace类 4,条件编译 5,MethodImpl 特性 5,CLSCompliantAttribute 6,必要时自定义类型别名 目录: 1,文 ...
- python学习笔记(十)、文件操作
在前面我们了解到了没得模块,其中有一个模块为fileinput,为文件操作模块,不知道小伙伴们是否还记得? 1 打开文件 要打开文件,可以使用fileinput中的fileinput.input函数进 ...
- Python学习(五) —— 文件操作
一.文件操作 1.文件操作:数据持久化的一种 步骤:找到文件,打开文件,操作:读.写.追写,关闭文件 打开文件:f = open(文件路径,操作模式,编码方式),f:文件句柄.文件 ...
- Python学习—基础篇之文件操作
文件操作 文件操作也是编程中需要熟练掌握的技能,尤其是在后台接口编写和数据分析过程中,对各种类型的文件进行操作,获取文件信息或者对信息进行存储是十分重要的.本篇博客中将主要对常见的文本格式文件和Exc ...
随机推荐
- 转: Appium ---移动自动化测试
转自:http://www.cnblogs.com/nbkhic/p/3803830.html 什么是appium? 下面这段介绍来自于appium的官网. Appium is an open-sou ...
- 人不在囧途 便携式3G上网设备+套餐推介
来源: http://network.pconline.com.cn/317/3174920_all.html [PConline资讯]过年回家,本该是再高兴不过的事,可一想到要在路上颠簸数十个小时, ...
- Hibernate二次学习一----------Hibernate简单搭建
因为博客园自带的markdown不太好用,因此所有markdown笔记都使用cmd_markdown发布 Hibernate二次学习一----------Hibernate简单搭建: https:// ...
- sql server 集群配置
Windows server2003 + sql server2005 集群配置安装 一:环境 软硬件环境 虚拟3台windows server 2003主机.当中一台做域控DC,另外两台作为节点wi ...
- git设置全局和单个仓库账号和密码
Git全局配置和单个仓库的用户名邮箱配置 配置全局仓库的账号和密码 git config --global user.name "userName" //你的用户名 git con ...
- 内核initcall分析
linux中init相关内容定义在include/linux/init.h initcall相关定义 先看下文件说明,此文件定义的宏主要用于初始化阶段标记函数或初始化数据,之后占用的资源会被释放掉. ...
- struts2中配置文件加载的顺序是什么?
struts2的StrutsPrepareAndExecuteFilter拦截器中对Dispatcher进行了初始化 在Dispatcher类的init方法中定义了配置文件的加载顺序(下面是源码) p ...
- laravel学习之路3 数据库相关
读写分离之多个读? 有 'host' => $readHosts[array_rand($readHosts)], 上面的好像有缓存问题php artisan config:cache ] ); ...
- linux 解决 安装软件一直出现重复的信息
State : Sleeping, pid: Another app is currently holding the yum lock; waiting for it to exit... The ...
- python reduce & map 习题
基于廖雪峰教程作业 http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014317 ...