当前位置: 首页 > article >正文

map映射

一、Scala的map的分类:不可变,可变

二、Scala的map的常见操作:添加元素,删除元素,查询元素,修改元素,遍历。

三、Scala的不可变map

查询有两种方法:①get方法.输入key,如果找到,就返回包装数据,如果没有找到,就返回None。

                             ②直接:map(key名).如果key不存在,就会报错!!!

遍历有两种方法:①for;②foreach

object map {
  def main(args: Array[String]): Unit = {
    //不可变map
    val map1 =Map("鄂"->"湖北省","湘"->"湖南省")
    //1.添加
//    val map2=map1+("豫"->"河南省")
    //如果key存在,就是修改
//    val map3 =map1+("鄂"+"河南省")
    //2.删除。只要提供key
    val  map3=map1-"鄂"
    //3.查询
//    val rs =map1.get("鄂")
//    println(rs.get)
//    println(map1("鄂1"))
    //4.修改元素:把青->青海,改为青->青海省
    //map1("青")="青海省"
    val  map4=map1+("青"->"青海省")
    println(map4)
    //5.遍历
    for ((key,value)<-map1){
      println(s"$key 是${value}的简称")
    }
    map1.foreach {
      case(key,value)=>{
      println(s"$key 是${value}的简称")
    }}
  }
}
  }
}

四、Scala的可变map

package test_25
//可变的map要导入包
import scala.collection.mutable
object mutatable_map {
  //类型:可变
  //操作:添加元素,删除元素,查询元素,修改元素,遍历
    def main(args: Array[String]): Unit = {
      //不可变map
      val map1 = mutable.Map("鄂"->"湖北省","湘"->"湖南省")
      //1.添加
    map1 += ("豫"->"河南省")
      //2.删除。只要提供key
    map1 -= ("鄂")
      //3.查询
      //3.1get方法.输入key,如果找到,就返回包装数据,如果没有找到,就返回None
      //3.2直接:map(key名).如果key不存在,就会报错!!!
          val rs =map1.get("鄂")
          println(rs.get)
          println(map1("鄂1"))
      //4.修改元素:把青->青海,改为青->青海省
      //map1("青")="青海省"
      val  map4=map1+("青"->"青海省")
      println(map4)
      //5.遍历
      //for
      //foreach
      for ((key,value)<-map1){
        println(s"$key 是${value}的简称")
      }
      map1.foreach {
        case(key,value)=>{
          println(s"$key 是${value}的简称")
        }}
    }
  
}


http://www.kler.cn/a/389899.html

相关文章:

  • 黄色校正电容102j100
  • 【蓝桥等考C++真题】蓝桥杯等级考试C++组第13级L13真题原题(含答案)-最大的数
  • jwt用户登录,网关给微服务传递用户信息,以及微服务间feign调用传递用户信息
  • 【MySQL从入门到放弃】InnoDB磁盘结构(一)
  • 吾店云介绍 – 中国人的WordPress独立站和商城系统平台
  • Django 详细入门介绍
  • [C++]——位图与布隆过滤器
  • Kafka-broker处理producer请求-leader篇
  • Solon MVC 的 @Mapping 用法说明
  • 人工智能技术将逐步渗透到我们生活的每个角落
  • 《Rust语言圣经》Rust教程笔记17:2.Rust基础入门(2.6模式匹配)2.6.2解构Rust Option<T>
  • 三级等保安全解决方案,实施方案,整改方案(Word,PPT等相关资料学习)
  • docker compose - 设置名字
  • 根文件系统ROOTFS
  • 前端跨域~简述
  • 技术整合与生态构建:Lyft与Mobileye引领自动驾驶新纪元
  • Git核心概念
  • 解决”重复文件名重命名“问题【根据Word系统方式】
  • Qt文件系统-二进制文件读写
  • 【Django】Clickjacking点击劫持攻击实现和防御措施
  • 数组类算法【leetcode】
  • 「IDE」VS2022插件 Visual Assist X 番茄助手介绍说明
  • Python小游戏24——小恐龙躲避游戏
  • 使用 Elasticsearch 构建食谱搜索(一)
  • RSTP的配置
  • DNS Resolver解析服务器出口IP查询