Scala 编程——第10章:Scala集合——映射Map(6)

一、映射Map简介

  • 映射Map是键/值对偶集合。
  • 映射分为不可变映射Map可变映射Map。继关系如下图所示:
    • 不可变映射Map
      Scala 编程——第10章:Scala集合——映射Map(6)

    • 可变映射Map
      Scala 编程——第10章:Scala集合——映射Map(6)

二、不可变映射

1.创建不可变映射Map

Scala默认使用不可变Map。有以下两种方式:“key -> val” 或者"(key,val)"
Scala 编程——第10章:Scala集合——映射Map(6)

创建两个不可变Map[String,Int],其值不可被修改(不管是var还是val修饰的,本身的值不可修改)。Scala 编程——第10章:Scala集合——映射Map(6)
但是注意:var修饰的不可变Map可以添加新的键值对。
Scala 编程——第10章:Scala集合——映射Map(6)

2.获取映射中值

  • ①使()获取对应键的值。
    Scala 编程——第10章:Scala集合——映射Map(6)

  • ②使用 getOrElse方法
    Scala 编程——第10章:Scala集合——映射Map(6)

3.更新映射值

  • ①不可变映射,不可以更新已有元素的值(无论是val还是var)。
    Scala 编程——第10章:Scala集合——映射Map(6)
    注:不可变映射不可修改本身元素,但是可以添加新元素赋值给新的集合Map
    Scala 编程——第10章:Scala集合——映射Map(6)

  • ②使用var修饰的不可变映射可以添加新的键值对。
    Scala 编程——第10章:Scala集合——映射Map(6)

4.迭代映射

  • ①遍历迭代映射,需要使用到模式匹配中的for循环。**
    ·
    Scala 编程——第10章:Scala集合——映射Map(6)

  • ②如果只想要访问key:keySet 和 keys。keySet返回一个key的集合set,keys返回Iterable
    Scala 编程——第10章:Scala集合——映射Map(6)
    Scala 编程——第10章:Scala集合——映射Map(6)

  • ③如果只想访问值value: values。values方法返回一个Iterable。
    Scala 编程——第10章:Scala集合——映射Map(6)

三、可变映射Map

1.创建可变映射Map

使用可变Map需要导包或者使用全类名scala.collection.mutable.Map
Scala 编程——第10章:Scala集合——映射Map(6)
可变集合可以修改元素值 和添加新元素 (不管是val还是var)
Scala 编程——第10章:Scala集合——映射Map(6)Scala 编程——第10章:Scala集合——映射Map(6)

2.更新映射中的值

在可变映射中,你可以更新某个某个映射的值,或者添加一个新的映射关系。

  • ① 使用()更新映射值
    Scala 编程——第10章:Scala集合——映射Map(6)
  • ②使用 “+=” ”-=“ 添加或者移除映射关系
    Scala 编程——第10章:Scala集合——映射Map(6)

四、排序的映射

默认情况话Scala提供的HashMap,如果想使用顺序的访问所有键,可以使用sorteMap

五、操作汇总

1.常用可变/不可变映射操作

Scala 编程——第10章:Scala集合——映射Map(6)
Scala 编程——第10章:Scala集合——映射Map(6)

2.不可变Map包含的操作

Scala 编程——第10章:Scala集合——映射Map(6)
Scala 编程——第10章:Scala集合——映射Map(6)

3.可变映射包含的操作

Scala 编程——第10章:Scala集合——映射Map(6)
Scala 编程——第10章:Scala集合——映射Map(6)