Scala学习之Tuple、Map、Array
1.Tuple
Tuple的中文意思是元组,它的定义是不需要方法。
例如:val tup=(25,”Tuple”,”Map”,”Array”)。
值得注意的是,Tuple在进行索引的时候,与我们平时所见到的数组是有很多不同点的,它的索引方式是通过:下划线和一个基于1的元素索引。(这里特别强调基数,因为在Java、C++中,我们定义数组的时候,都是基于0开始的)
object TupleOps {
def main(args:Array[String]): Unit={
val tuples=(2,"Tuple","Map","Array")
println(tuples._1)
println(tuples._2)
println(tuples._3)
}
}
2.Map
Map就是映射。我们可以把它理解为关联数组。Map是对偶的集合,通过Map类构造,用”->”操作符来连接对偶的键值对,下面我们来定义一个映射集合。
例如 val
map=Map(“Xiaoming”->1,”Xiaomei”->2,”Xiaofang”->3)。
对于Map映射的索引,我们通常是用for循环,通过(key,value)<-map进行键值对的赋值。然后通过输出key和value来显示它。object MapOps {
def main(args:Array[String]):Unit={
val maps=Map("Xiaoming"->1,"Xiaomei"->2,”Xiaofang”->3)
for((key,value)<-maps){
println("key is:"+key+";value is:"+value)
}
println("____________________________________________________")
for((key,_)<-maps){
println("key is:"+key)
}
}
}
3.Array
对于Array,我们在学习Java,C++都相对熟悉了,在这里我也不再多赘述。不过,我要强调一点在Scala中,Array循环输出的的两种方式。
object ArrayOps {
def main(args:Array[String]):Unit={
val arrays=Array(1,2,3,4)
println("第一种输出方式:")
for(i<-0 until arrays.length){
println(arrays(i))
}
println("____________________________________")
println("第二种输出方式(推荐):")
for(elem<-arrays){
println(elem)
}
}
}
Scala学习之Tuple、Map、Array的更多相关文章
- [Scala]Scala学习笔记三 Map与Tuple
1. 构造映射 可以使用如下命令构造一个映射: scala> val scores = Map("Alice" -> 90, "Kim" -> ...
- [原创]Scala学习:Tuple,Array,Map ,文件操作
1.Tuple:元祖.是一个有用的容器对象. 1)特点: ① 元祖是不可变的,即,当声明完了一个元祖,那么它的长度就不可以在改变: ② 元祖可以包含不同类型的数据,对象: ③ 索引是从 '_1 ...
- scala学习(1)----map和flatMap的区别
转载:https://www.cnblogs.com/wbh1000/p/9846401.html 两者的区别主要在于action后得到的值 例子: import org.apache.spark.{ ...
- scala 学习(三)——Array和ArrayBuffer
ArrayBuffer:类型化数组 首先需要注意的是Array是定长数组,而ArrayBuffer是可变数组.下面是一个小例子,对数据进行便利和修改的操作.
- scala学习(4)---Array定长数组操作
ScalaArrayNote: https://www.jianshu.com/p/d906f00c05bf
- Scala学习笔记之:tuple、array、Map
[TOC] 本文<快学Scala>的笔记 tuple学习笔记 tuple的定义 对偶是元组(tuple)的最简单形态--元组是不同类型的值的聚集. 元组的值是通过将单个值包含在圆括号中构成 ...
- Scala实战高手****第8课:零基础实战Scala最常用数据结构Map和Tuple及Spark源码鉴赏
本课内容1.Map和Tuple在Spark源码中的鉴赏2.Map和Tuple代码操作实战 ------------------------------------------------------- ...
- scala学习笔记(8): 列表的map,flatMap,zip和reduce
map,flatMap,zip和reduce函数可以让我们更容易处理列表函数. 1 map函数map将一个函数应用于列表的每一个元素并且将其作为一个新的列表返回.我们可以这样对列表的元素进行平方: s ...
- 【Todo】【读书笔记】大数据Spark企业级实战版 & Scala学习
下了这本<大数据Spark企业级实战版>, 另外还有一本<Spark大数据处理:技术.应用与性能优化(全)> 先看前一篇. 根据书里的前言里面,对于阅读顺序的建议.先看最后的S ...
随机推荐
- jsp版本的环境变量集合
System.out.println("Protocol: " + request.getProtocol());System.out.println("Scheme: ...
- emqtt-benchmark发送指令
- 使用结构(C# 编程指南)
struct 类型适于表示 Point.Rectangle 和 Color 等轻量对象. 尽管使用自动实现的属性将一个点表示为类同样方便,但在某些情况下使用结构更加有效. 例如,如果声明一个 1000 ...
- Solr3.6.2和Solr4.9.0经常使用配置
tomcat 以tomcat 7为例,位置/work/apache-tomcat-7.0.55 Solr 3.6.2 基本配置 Solr 3.6.2.须要JDK 6/JDK7支持. 下载Solr 3. ...
- hdu1010Tempter of the Bone(dfs+奇偶剪枝)
题目链接:pid=1010">点击打开链接 题目描写叙述:给定一个迷宫,给一个起点和一个终点.问是否能恰好经过T步到达终点?每一个格子不能反复走 解题思路:dfs+剪枝 剪枝1:奇偶剪 ...
- rownum使用说明
参考:http://www.blogjava.net/conans/articles/219693.html 参考:http://www.blogjava.net/freeman1984/archiv ...
- sklearn word2vec 实践
源代码: https://blog.csdn.net/github_38705794/article/details/75452729 一.复现时报错: Traceback (most recent ...
- unity, GetComponent<Renderer>().bounds.size vs GetComponent<MeshFilter>().sharedMesh.bounds.size
GetComponent<MeshFilter>().sharedMesh.bounds.size获得的是未经缩放的大小. GetComponent<Renderer>().b ...
- redis命令_SETNX
SETNX key value 将 key 的值设为 value ,当且仅当 key 不存在. 若给定的 key 已经存在,则 SETNX 不做任何动作. SETNX 是『SET if Not eXi ...
- node多项目同时运行,nginx端口监听转发
在服务器端安装pm2 npm install npm2 -g --save 之后再项目目录下运行 pm2 start app.js 在查看进程,是否已经启动 pm2 list 多个项目,我们只要监听端 ...