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)
    }
  }
}
时间: 2024-10-15 21:11:07

Scala学习之Tuple、Map、Array的相关文章

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

1.Tuple:元祖.是一个有用的容器对象. 1)特点:  ① 元祖是不可变的,即,当声明完了一个元祖,那么它的长度就不可以在改变:  ② 元祖可以包含不同类型的数据,对象:   ③ 索引是从 '_1' 开始,读取元祖中的内容 ④标识:' () ' 2)代码 1 //元祖 2 def doTuple() { 3 //'()' 定义元祖 4 val pair = (100, "scala", "spark") //元祖的类型val pair: (Int, String

03Scala学习: Tuple、Array、Map与文件操作入门实战

一 Tuple 元祖 在sclal中有用的容器对象是元祖: Tuple,与列表一样,元素也是不可变的,但与列表不同,在一个元祖可以包含不同类型的元素.所以在scal用的非常多.  def main(args: Array[String]): Unit = { val triple = (100, "Scala", "Spark"); println(triple._1) println(triple._2) println(triple._3) } }      

王家林亲传《DT大数据梦工厂》第三讲Tuple、Array、Map与文件操作入门实战

你想了解大数据,你想成为年薪百万吗?那你还等着什么,快点来吧!跟着王家林老师学习spark大数据 第三讲Tuple.Array.Map与文件操作入门实战 Tuple object TupleOps  { def  main (args: Arrag[string]): Unit = { val triple = (100,”Scala”,”Spark”) printIn(triple._1) printIn(triple._2) } } Array object ArrayOperations

(转)scala学习笔记(8): 列表的map,flatMap,zip和reduce

http://www.ituring.com.cn/article/131442 https://twitter.github.io/scala_school/zh_cn/collections.html#flatten 如果不了解map,flatMap,zip和reduce函数,你就不能真正地谈论scala.通过这些函数,我们可以非常容易地处理列表的内容并结合Option对象工作.你可以在这个站点找到更多的片段:Scala片段 1:FoldingScala 片段2:List的操作符魔法 让我们

scala学习(一)

开始学习scala,有一种学习java的感觉. 首先,从网站下载scala的包,下载后要安装,安装后把安装目录的bin放到环境变量psth里 cmd里,输入scala,如果出现下图,那么恭喜咯,安装成功咯~~ 1:变量 首先我们看下定义变量方法 var 可以定义变量,可以改变值 val 定义的变量不可以改变值,类似于java的final变量: 2:函数 如图定义了一个函数 def max(x:Int,y:Int):Int ={ if(x>y)x else y } def:表面定义函数 max :

Scala学习笔记一之基础语法,条件控制,循环控制,函数,数组,集合

前言:Scala的安装教程:http://www.cnblogs.com/biehongli/p/8065679.html 1:Scala之基础语法学习笔记: 1:声明val变量:可以使用val来声明变量,用来存放表达式的计算结果,但是常量声明后是无法改变它的值的,建议使用val来声明常量: 声明var变量:如果要声明可以改变的引用,可以使用var变量,声明的常量的值可以改变. 3:指定类型:无论声明val变量还是声明var变量.都可以手动指定其类型,如果不指定,scala会自动根据值,进行类型

Programming in scala学习笔记(二)Next steps in scala

1 声明一个数组 Java的string数组声明如下: String[] greetStrings = new String()[4]; 数组索引跟java和c++/c语言不一样的是不用"[ ]",用"( )". 也可以用比较繁琐的方式声明数组: greetStrings是val常量,只能指向同一个Array对象,但是,greetStrings(0-2)的值是可变的. 2. 关于数组为什么不用"[ ]",用"( )" Arra

Scala学习笔记及与Java不同之处总结-从Java开发者角度

Scala与Java具有很多相似之处,但又有很多不同.这里主要从一个Java开发者的角度,总结在使用Scala的过程中所面临的一些思维转变. 这里仅仅是总结了部分两种语言在开发过程中的不同,以后会陆续更新一些切换后在开发过程中值得注意的地方.以下列举了部分,但令人印象深刻的Scala语言的不同之处,具体的代码演示样例及具体阐述见下文. ? Scala中可直接调用Java代码,与Java无缝连接. 语句能够不用";"结束.且推荐不适用";". 变量声明时以var或va

Scala学习笔记-环境搭建以及简单语法

关于环境的搭建,去官网下载JDK8和Scala的IDE就可以了,Scala的IDE是基于Eclipse的. 下面直接上代码: 这是项目目录: A是scala写的: package first import scala.collection.mutable.ListBuffer object A { def main(args: Array[String]) { print("Hello,Scala");//学习程序设计的第一句 println("---");//pr