Scala集合—可变Map和不可变Map |CSDN独创
Map的分类
- 一、可变Map
- 第一步:创建可变Map
- 第二步:删除元素
- 第三步:修改元素
- 第四步:合并两个Map
- 第五步:可变Map代码+代码图如下
- 二、不可变Map
- 第一步:创建Map
- 第二步:访问元素
- 第三步:不可变Map代码+代码图如下
一、可变Map
- 可变Map:直接可以更改原位置的元素不用返回新的值
- 不可变Map:不可直接对原位置的元素进行更改 会返回一个新的值(需定义 VAL 值名)
第一步:创建可变Map
val map1:mutable.Map[String,Int]=mutable.Map("a"->13,"b"->25,"hello"->3)
println(map1)
map1.put("c",5)
第二步:删除元素
map1.remove("c")//只需要提供key值就行map1 -= "d"//提供key值 把key和value一起删除
第三步:修改元素
map1.update("c",5)map1 += (("e",7))println(map1)
第四步:合并两个Map
val map2: mutable.Map[String,Int]=mutable.Map("aaa"->11,"b"->25,"hello"->5)val map3= map1 ++ map2println(map3)//map1 ++=map2
}
}
第五步:可变Map代码+代码图如下
def main(args: Array[String]): Unit = {//可变mapval map1:mutable.Map[String,Int]=mutable.Map("a"->13,"b"->25,"hello"->3)println(map1)map1.put("c",5)//3.删除元素map1.remove("c")//只需要提供key值就行map1 -= "d"//提供key值 把key和value一起删除//修改元素map1.update("c",5)map1 += (("e",7))println(map1)//5.合并两个Mapval map2: mutable.Map[String,Int]=mutable.Map("aaa"->11,"b"->25,"hello"->5)val map3= map1 ++ map2println(map3)//map1 ++=map2}}
二、不可变Map
- 不可变Map 1.创建不可变集合Map 2.循环打印 3.访问数据 4.如果key不存在,返回0
第一步:创建Map
val map1:Map[String,Int]=Map("a"->13,"b" ->25,"hello"->3)
println(map1)
##第二步:遍历元素
map1.foreach(println)
- 得到Key的值
for (key <- map1.keys){println(s"$key---->${map1.get(key).get}")
}
第二步:访问元素
- 4.访问某一个key的value
println(map1.get("a"))//如果不想得到那个返回值some(keys)那么就在得到的key后面.getprintln(map1.get("b").get)//这种做法不是特别的安全println(map1.getOrElse("hello",0))//返回第一个值
- //不可变的集合不可put 增加元素
}
}
第三步:不可变Map代码+代码图如下
//存储的内容也是键值对//不可变Map 1.创建不可变集合Map 2.循环打印 3.访问数据 4.如果key不存在,返回0val map1:Map[String,Int]=Map("a"->13,"b" ->25,"hello"->3)println(map1)//2.遍历元素map1.foreach(println)//得到Key的值for (key <- map1.keys){println(s"$key---->${map1.get(key).get}")}//4.访问某一个key的valueprintln(map1.get("a"))//如果不想得到那个返回值some(keys)那么就在得到的key后面.getprintln(map1.get("b").get)//这种做法不是特别的安全println(map1.getOrElse("hello",0))//返回第一个值//不可变的集合不可put 增加元素}
}
Scala集合—可变Map和不可变Map |CSDN独创相关推荐
- 20_集合_第20天(Map、可变参数、Collections)
今日内容介绍 1.Map接口 2.模拟斗地主洗牌发牌 01Map集合概述 A:Map集合概述: 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式 ...
- 最完整的集合概述:集合的概述和集合的继承体系、Collection集合 、List集合、数据结构、LinkedList集合、set-泛型-树、Map、HashMap、可变参数、创建不可变的集合
二.Collection集合 注意点: 增强for的快捷方式: 三.List集合 指定索引获取元素可以跟普通for结合起来遍历这个集合 四.数据结构: (1)栈 : (2)队列: ...
- scala的多种集合的使用(6)之映射Map的操作方法
1.创建映射 1)创建不可变的映射 scala> val status = Map(1 -> "a",2 -> "b") status: sc ...
- React Native之(var和let区别 )(简单解构)(map对象遍历)(可变顺序参数和不可以变顺序参数函数)
1 var和let区别 let左右范围在块里面,var定义的变量可提升,用let声明的变量不可以声明2次 2 简单解构 let [a, b, c] = [1, 2, 3]; 3 map对象遍历 co ...
- Scala 集合 —— Array、Map、Seq、Set
until vs to until 不包括右端点: to 包括右端点: 格式化输出 val i = 100 val s = "hello world" println(f" ...
- 9.可变参数创建不可变集合
一.可变参数 1.可变参数介绍 可变参数又称参数个数可变,用做方法的形参出现,那么方法参数个数就是可变的了. 方法的参数类型已经确定,个数不确定,我们可以使用可变参数. 2.可变参数定义格式 修饰符 ...
- 集合、set、list、map、所有集合基本知识使用方法总结
1.集合的概述 集合概述:就是一个专门存放多个引用数据类型对象的容器[重点::只能存放引用数据类型] 特点:1.它可以存放多种数据类型对象2.集合的长度可变的3.支持泛型 面试题:集合和数组的对比 数 ...
- java集合: List、Set、Map总结 + HashMap/Hashtable 差别
List:(有序,能够反复)通过下标索引 ----ArrayList 可变数组,随机查找 ----LinkedList 链表,不论什么位置插入删除快 ----Vector 效率比arra ...
- Java SE基础知识详解第[12]期—集合(Set、Collections、Map、集合嵌套)
写在前面: 每一个不曾起舞的日子,都是对生命的辜负. 希望看到这里的每一个人都能努力学习,不负韶华,成就更好的自己. 以下仅是个人学习过程中的一些想法与感悟,Java知识博大精深,作为初学者,个人能力 ...
最新文章
- 训练数据也外包?这家公司“承包”了不少注释训练数据,原来是这样做的……...
- 基于Mozilla Thunderbird的扩展开发(四)---修改Thunderbird源代码实现自动保存附件...
- kaggle比赛模型融合指南
- Java深度历险(二)——Java类的加载、链接和初始化
- php header x-auth-token,使用Angular 2正确设置Header X-Auth-Token
- 个人认为不错的句子(part2)--计算机是一种工具,但是如果没有绝对精确的指令,计算机也将一无是处
- decorators 参数_Python Decorators(二):Decorator参数
- 【转】解密Qt安装目录的结构
- spring:我是如何解决循环依赖的?
- 如何禁止用户安装应用程序,记下来,方便以后用
- Atitit 增强代码健壮性 出错继续执行恢复模式,就像vbs那样我以为我可以使用Try/Catch,但是我找不到异常后是否可以继续执行代码,并且找不到如何在最后显示错误消息。目录PHP
- 数据清洗之微博内容清洗
- php爬取房源,Python 爬虫 链家二手房(自行输入城市爬取)
- 20221125使用PR2023自动识别obs-studio录屏生成的MKV视频的字幕
- weinre调试环境搭建
- Elasticsearch专栏-1.为什么引入es
- ArcGIS二次开发入门(一)
- 产品经理学大数据——什么是大数据?(1)
- 5G网络硬盘,100M文件大小,联想研究院发布联想社区化数据服务
- 汽车电子_EMC测试_CE电流法整改