map映射

devtools/2024/11/13 15:04:22/

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

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

三、Scala的不可变map

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

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

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

object map {def main(args: Array[String]): Unit = {//不可变mapval map1 =Map("鄂"->"湖北省","湘"->"湖南省")//1.添加
//    val map2=map1+("豫"->"河南省")//如果key存在,就是修改
//    val map3 =map1+("鄂"+"河南省")//2.删除。只要提供keyval  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 = {//不可变mapval map1 = mutable.Map("鄂"->"湖北省","湘"->"湖南省")//1.添加map1 += ("豫"->"河南省")//2.删除。只要提供keymap1 -= ("鄂")//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//foreachfor ((key,value)<-map1){println(s"$key 是${value}的简称")}map1.foreach {case(key,value)=>{println(s"$key 是${value}的简称")}}}}


http://www.ppmy.cn/devtools/133341.html

相关文章

微信小程序运营日记(第四天)

2024年11月6日-星期三-2024年45周 {微信小程序的时间板块进行一个增加&#xff0c;增加&#xff1a;2024年第45周|共53周&#xff0c;星期三&#xff0c;今年时间剩余&#xff0c;本周时间剩余} 开源竞争&#xff1a; 开源竞争&#xff08;当你无法掌握一个技术就开源这个技术…

简简单单的UDP

前言 上一篇了解了TCP的三次握手过程&#xff0c;目的、以及如何保证可靠性、序列号与ACK的作用&#xff0c;最后离开的时候四次挥手的内容&#xff0c;这还只是TCP内容中的冰山一角&#xff0c;是不是觉得TCP这个协议非常复杂&#xff0c;这一篇我们来了解下传输层另外一个协…

PyQt5入门级超详细教程中篇

PyQt5入门级超详细教程 中篇&#xff1a;信号槽机制与表格数据展示 接上篇&#xff1a; 第4部分&#xff1a;事件处理与信号槽机制 4.1 什么是信号与槽&#xff1f; 在 PyQt5 中&#xff0c;信号&#xff08;Signal&#xff09; 和 槽&#xff08;Slot&#xff09; 是处理事…

conda环境迁移,修改conda路径(附带脚本)

方法1 现将文件夹移动到对应用户的~目录下&#xff08;或其他目录&#xff09;mv /home/asushiro/miniconda3 /root/miniconda3建立软链接 然后创建软链接&#xff0c;相当于快捷方式ln -s /root/miniconda3 /home/aushiro/miniconda3方法2 将对应miniconda中的文件路径全部改…

golang 实现比特币内核:实现基于椭圆曲线的数字签名和验证

我们已经展示了,给定生成点 G,并选择一个足够大的标量 e,我们可以轻松计算出 P=e*G,但是当你拥有 G 和 P 时,几乎不可能得到 e。这是椭圆曲线加密的基础。 所选择的标量 k 被称为私钥,而 Q 是公钥。注意,k 是一个256位的整数,而 Q 包含两部分:一个是 x 坐标,另一个是…

联合物种分布模型HMSC开展单物种和多物种分析技术细节及HMSC包的实际应用;群落生态学数据分析、物种分布预测、假说验证等

目录 专题1&#xff1a;R/Rstudio简介及入门 夯实基础 专题2&#xff1a;群落生态学及数据统计分析概述 专题3&#xff1a;联合物种分布模型Hmsc及群落数据贝叶斯统计 专题4&#xff1a;单物种&#xff08;物种水平&#xff09;/单变量Hmsc贝叶斯统计 专题5&#xff1a;多…

ESLint 使用教程(四):ESLint 有哪些执行时机?

前言 ESLint 作为一个静态代码分析工具&#xff0c;可以帮助我们发现和修复代码中的问题&#xff0c;保持代码风格的一致性。然而&#xff0c;ESLint的最佳实践不仅仅在于了解其功能&#xff0c;更在于掌握其执行时机。本文将详细介绍ESLint在不同开发阶段的执行时机&#xff…

关于git使用的图文教程(包括基本使用,处理冲突问题等等)超详细

目录 用户签名,初始化git git提交流程图 提交到本地库 版本穿梭 分支操作 分支合并冲突 团队协作 github的使用 推送代码 克隆 拉取代码 团队协作冲突 团队协作之分支管理 推送分支到分支&#xff1a; 拉去远程库分支到本地库&#xff1a; 本地删除远程分支&am…