第1节 Scala基础语法:11、映射;12、元组

5.2.   映射

在Scala中,把哈希表这种数据结构叫做映射。

1.1.1.    构建映射

(1)构建映射格式
1、val map=Map(键 -> 值,键 -> 值....)

2、利用元组构建  val map=Map((键,值),(键,值),(键,值)....)

1.1.2.  
 获取和修改映射中的值

(1)获取映射中的值:

值=map(键)

好用的getOrElse

注意:在Scala中,有两种Map,一个是immutable包下的Map,该Map中的内容不可变;另一个是mutable包下的Map,该Map中的内容可变

例子:

注意:通常我们在创建一个集合是会用val这个关键字修饰一个变量(相当于java中的final),那么就意味着该变量的引用不可变,该引用中的内容是不是可变,取决于这个引用指向的集合的类型

5.3.   元组

映射是K/V对偶的集合,对偶是元组的最简单形式,元组可以装着多个不同类型的值。

1.1.1.    创建元组

(1)元组是不同类型的值的聚集;对偶是最简单的元组。

(2)元组表示通过将不同的值用小括号括起来,即表示元组。

创建元组格式:

val tuple=(元素,元素...)

1.1.2.    获取元组中的值

(1) 获取元组中的值格式:

使用下划线加脚标 ,例如 t._1  t._2  t._3

注意:元组中的元素脚标是从1开始的

1.1.3.    将对偶的集合转换成映射

将对偶的集合转换成映射:

调用其toMap 方法

1.1.4.    拉链操作

1.使用zip命令可以将多个值绑定在一起

注意:如果两个数组的元素个数不一致,拉链操作后生成的数组的长度为较小的那个数组的元素个数

2.如果其中一个元素的个数比较少,可以使用zipAll用默认的元素填充

原文地址:https://www.cnblogs.com/mediocreWorld/p/11330876.html

时间: 2024-10-21 13:08:57

第1节 Scala基础语法:11、映射;12、元组的相关文章

第1节 Scala基础语法:9、数组

5.    数组.映射.元组.集合 5.1.   数组 5.1.1.    定长数组和变长数组 (1)定长数组定义格式: val arr=new Array[T](数组长度) val arr=Array(1,2,3,4,5) (2)变长数组定义格式: valarr = ArrayBuffer[T]() 注意需要导包:import scala.collection.mutable.ArrayBuffer package cn.itcast.scala import scala.collection

第1节 Scala基础语法:2、环境和插件

1.    Scala编译器安装 1.1.   安装JDK 因为Scala是运行在JVM平台上的,所以安装Scala之前要安装JDK. 1.2.   安装Scala 1.2.1.    Windows安装Scala编译器 访问Scala官网http://www.scala-lang.org/下载Scala编译器安装包,目前最新版本是2.12.x,这里下载scala-2.11.8.msi后点击下一步就可以了(自动配置上环境变量).也可以下载scala-2.11.8.zip,解压后配置上环境变量就可

第1节 Scala基础语法:scala中的方法源码分析

val list=List(1,2,3,4) list.reduce((x:Int,y:Int)=>x+y)--->list.reduceLeft((x:Int,y:Int)=>x+y) var first = true var acc:Int = 0 op=(x:Int,y:Int)=>x+y for循环第一次循环:acc=1 first = false第二次循环:acc=op(1,2)=1+2=3第三次循环:acc=op(3,3)=3+3=6第四次循环:acc=op(6,4)=

【Scala学习之一】 Scala基础语法

环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark-1.6 Scala是一种混合功能编程语言,类似java,运行于JVM,集成面向对象编程和函数式编程的各种特性.(1)Scala可以与Java互操作:它用scalac这个编译器把源文件编译成Java的class文件,从Scala中调用所有的Java类库,也同样可以从Java应用程序中调用Scala的

Scala基础语法 (一)

如果你之前是一名 Java 程序员,并了解 Java 语言的基础知识,那么你能很快学会 Scala 的基础语法. Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的. 我们可以认为 Scala 程序是对象的集合,通过调用彼此的方法来实现消息传递.接下来我们来理解下,类,对象,方法,实例变量的概念: 对象 - 对象有属性和行为.例如:一只狗的状属性有:颜色,名字,行为有:叫.跑.吃等.对象是一个类的实例. 类 - 类是对象的抽象,而对象是类的具体实例. 方法 - 方法

scala 基础语法

文章内容全部来自:http://twitter.github.io/scala_school/zh_cn/index.html 表达式 scala> 1 + 1 res0: Int = 2 值 你可以给一个表达式的结果起个名字赋成一个不变量(val). scala> val two = 1 + 1 two: Int = 2 变量 如果你需要修改这个名称和结果的绑定,可以选择使用var. scala> var name = "steve" name: java.lang

Scala系统学习(三):Scala基础语法

如果您熟悉Java语言语法和编程,那么学习Scala将会很容易.Scala和Java之间最大的句法差异在于行结束字符的分号(;) 是可选的. 当编写Scala程序时,它可以被定义为通过调用彼此的方法进行通信的对象的集合.现在我们简单地看一下类,对象,方法和实例变量的含义. 对象 - 对象有状态和行为.一个对象是类的一个实例.例如 - 狗有状态:颜色,名称,品种,它行为有:摇摆,吠叫和吃东西. 类 - 可以将类定义为描述与该类相关的行为/状态的模板/蓝图. 方法 - 一个方法基本上是一种行为.一个

scala函数式编程(二) scala基础语法介绍

上次我们介绍了函数式编程的好处,并使用scala写了一个小小的例子帮助大家理解,从这里开始我将真正开始介绍scala编程的一些内容. 这里会先重点介绍scala的一些语法.当然,这里是假设你有一些java或者python的基础,毕竟大部分人不会将scala当作第一门学习编程的语言. 不过这些语法知识记不住也没关系,本身语法这种东西就应该在使用中被记住.这里写这篇的目的也只是梳理一遍,方便大家对语法有个初步的印象,后面可以随时查询. PS:所使用的版本是scala 2.11.8,那我们开始吧 一.

Scala基础语法(声明定义、标识符命名、Scala脚本入门)

一.声明与定义(赋值) 1.val, 常量声明   val x:T val x:T=e 2.var, 变量声明   var x:T var x:T=e ?类型省略(默认类型)val x=e var x=e ? 声明省略(连续声明) val x1,x2,x3 等价于 val x1;val x2; var x1,x2,x3:T=e  等价于  var xn:T=e 3.def,函数声明def abc(xn:T):T*=e def adder(m:Int,n:Int) =m+n def adder()