24_Scala集合Map

news2024/11/25 16:24:18

文章目录

  • Scala集合Map
  • 1.构建Map
  • 2.增删改查
  • 3.Map的get操作细节

Scala集合Map

–默认immutable
–概念和Java一致

1.构建Map

–创建kv键值对 && kv键值对的表达
–创建immutable map
–创建mutable map

//1.1 构建一个kv键值对
val kv = "a" -> 1
println(kv) //(a,1)

在这里插入图片描述

//1.2构建可变Map集合
import scala.collection.mutable
val map_mutable = mutable.Map
val map = mutable.Map(kv, "b" -> 2, "c" -> 3, "d" -> 4, "e" -> 9)
    println(map)

在这里插入图片描述

2.增删改查

//2.mutable Map增删改查
//map的put,update操作功能相同,都是如果 有就修改,没有就添加
val kv1 = "ak" -> 999
map.put("k", 1000)

//    mutable map不能直接插入KV操作
map.update("c", -999)

map.remove("c")
println(map) //Map(e -> 9, k -> 1000, b -> 2, d -> 4, a -> 1)

在这里插入图片描述

3.Map的get操作细节

//    按照k获取v    Some(1000)
/**
 * get方法结果类型为Option类型,表示选项类型;这个类型只有两个对象可以选择,
 * Some,查询结果是有值
 * None,查询结果没有值
 * 此类型的目的是避免空指针异常;
 */
println(map.get("k")) //Some(1000)

//    一般写法
val maybeInt = map.get("k")
if (maybeInt.isEmpty) println("_") else println(maybeInt)

maybeInt.getOrElse(-1)    //有值直接返回,没有返回-1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1652477.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

嵌入式Linux开发如何查看应用所链接的动态库

在开发中我们常常需要查看一个应用究竟链接了哪些对应的动态库 桌面linux的使用方法不赘述,网上资料有很多,对于嵌入式linux开发中,我们在ubuntu中使用ldd 是不行的 应该使用

全面升级企业网络安全 迈入SASE新时代

随着数字化业务、云计算、物联网和人工智能等技术的飞速发展,企业的业务部署环境日渐多样化,企业数据的存储由传统的数据中心向云端和SaaS迁移。远程移动设备办公模式的普及,企业多分支机构的加速设立,也使得企业业务系统的用户范…

数据结构-线性表-应用题-2.2-14

1&#xff09;算法基本设计思想&#xff1a; 2&#xff09;c语言描述&#xff1a; #define INT_MAX 0X7FFFFFFF int abs_(int a) {//绝对值if(a<0) return -a;else return a; } bool min(int a,int b,int c){if(a<b&&a<c) return true;else return false; } …

【Kali Linux工具篇】使用Aircrack-ng破解wifi密码

前期准备 1、一个无线网卡 2、密钥爆破字典 实站过程 1、设置wlan为监听模式 airmon-ng start wlan0 #开启网卡wlan0监听模式 iwconfig #查看网卡状态&#xff0c;发现wlan0mon&#xff0c;表示已开启成功2、探测附近WiFi airdump-ng wlan0monBSSID 代表…

遥感+大数据为智慧无人农场按下“倍速键”

春回大地万象“耕”新&#xff0c;在襄阳市襄州区张家集镇近2000亩小麦绿意盎然、勃勃生机。 湖北绿神农业科技有限公司的生产经理王真指着监控室的电脑屏幕&#xff0c;告诉记者在与珈和科技合作开发的农田遥感监测平台上各类农田数据一目了然&#xff0c;为实现农业智能化管理…

await执行顺序

用一个简单的例子来说明&#xff0c;await到底在等待什么 求代码的打印顺序 function testAsy(x) {return new Promise((resolve) > {setTimeout(() > {resolve(x);}, 3000);}); } async function testAwt() {console.log("async开始执行");// 最先打印let r…

vue的css深度选择器 deep /deep/

作用及概念 当 <style> 标签有 scoped 属性时&#xff0c;它的 CSS 只作用于当前组件中的元素&#xff0c;父组件的样式将不会渗透到子组件。在vue中是这样描述的&#xff1a; 处于 scoped 样式中的选择器如果想要做更“深度”的选择&#xff0c;也即&#xff1a;影响到子…

【web网页制作】html+css旅游家乡河南开封主题网页制作(4页面)【附源码】

HTMLCSS家乡河南主题网页目录 &#x1f354;涉及知识&#x1f964;写在前面&#x1f367;一、网页主题&#x1f333;二、页面效果Page1 首页Page2 开封游玩Page 3 开封美食Page4 留言 &#x1f308; 三、网页架构与技术3.1 脑海构思3.2 整体布局3.3 技术说明书 &#x1f40b;四…

手拿滑块撕瑞数 我叫超弟你记住!!什么腾讯滑块、数美、阿里通通拿下!最新版2024.5.8号

本文章非标题党&#xff0c;可提供主流验证码解决方案及成品、补环境框架、逆向教学 不论你是逆向小白、亦或是需求方都可通过本文章各取所需&#xff01;&#xff01; 废话不多说&#xff0c;老规矩&#xff0c;附上腾讯旗下验证码程序运行图&#xff0c;附程序运行时间 &…

论文阅读:RHO-1:Not All Tokens Are What You Need 选择你需要的 Tokens 参与训练

论文链接&#xff1a;https://arxiv.org/abs/2404.07965 以往的语言模型预训练方法对所有训练 token 统一采用 next-token 预测损失。作者认为“并非语料库中的所有 token 对语言模型训练都同样重要”&#xff0c;这是对这一规范的挑战。作者的初步分析深入研究了语言模型的 t…

React18+TS+NestJS+GraphQL 全栈开发在线教育平台

高质量平台级应用流行全栈技术实用职场技巧通用面试策略React18TSNestJSGraphQL 全栈开发在线教育平台&#xff08;完结&#xff09; 黑石老师&#xff0c;大厂技术专家&#xff0c;深耕前后端十多年。发现很多的前端同学都面临如下的职业困扰&#xff1a;没有能拿的出手的面试…

数字人制作原理:捕捉、建模与合成

在感知系统中&#xff0c;我们与外部合作者一起创建逼真的 3D 人类&#xff0c;其行为可以像虚拟世界中的真实人类一样。这项工作在今天有许多实际应用&#xff0c;并且对于元宇宙的未来至关重要。但是&#xff0c;在感知系统中&#xff0c;我们的目标是科学的——通过重现人类…

日志打印传值 传引用 右值引用性能测试(Linux/QNX)

结论 Linux平台和qnx平台优化后传值性能都是比传引用的差&#xff0c;也比传右值的差&#xff0c;因此传参时有必要传递引用。 测试代码 #include <cstdint> #include <ctime> #include <string>#ifdef __linux__#define ITERATIONS 10000000 #else#defin…

树莓派4b测量光照强度

1.BH1750光照强度连接图 2. BH1750工作原理 BH1750的通讯过程 第1步:发送上电命令。 发送的过程和第2步基本一致,把测量命令(0x10)改成上电命令(0x01)。第2步:发送测量命令。 下面图片上的例子,ADDR引脚是接GND的,发送的测量命令是“连续高分辨率测量(0x10)”。 发送数据…

数据仓库与数据挖掘实验练习3-4(实验二2024.5.8)

练习3 1.简单文件操作练习 import pandas as pd # 读取文件 pd.read_csv(pokemon.csv) # 读取 CSV 文件的函数调用&#xff0c;它将文件中的数据加载到 DataFrame 中&#xff0c;并指定了 Pokemon 列作为索引列。 pd.read_csv(pokemon.csv,index_colPokemon)#查看类型 type(p…

Codeforces Round 943 (Div. 3) A~G1

A.Maximize?&#xff08;枚举&#xff09; 题意&#xff1a; 给你一个整数 x x x。你的任务是找出任意一个整数 y y y ( 1 ≤ y < x ) (1\le y\lt x) (1≤y<x)&#xff0c;使得 gcd ⁡ ( x , y ) y \gcd(x,y)y gcd(x,y)y为最大可能数。 ( 1 ≤ y < x ) (1\le y\lt…

Hbuilderx3.2.16打包报错记录困扰自己工作半个月的问题

大家好我是没钱的君子下流坯&#xff0c;用自己的话解释自己的知识 前言 使用Hbuilderx进行打包的时候&#xff0c;因为公司项目上线的时候考虑了各方面的稳定性选择了3.2.16版本&#xff0c;然后我入职后使用这个版本去打包h5去发布新版本的时候一直报错&#xff0c;半个月没…

MT3031 AK IOI

思路&#xff1a;把每个节点存到堆&#xff08;大根堆&#xff09;里。 如果节点放入后总时间没有超过m则放入堆中&#xff1b;如果总时间超过了&#xff0c;就看堆头元素是否比新元素大。如果大&#xff0c;则删除堆头&#xff08;反悔贪心&#xff09;。 注意别忘记开long l…

微信在线投票送礼物票选小程序源码系统 带完整的安装代码包以及安装搭建教程

在数字化时代&#xff0c;互动与参与成为吸引用户的关键。为了满足广大用户对于在线投票和礼物赠送的需求&#xff0c;我们特别推出了这款微信在线投票送礼物票选小程序源码系统。该系统不仅提供完整的安装代码包&#xff0c;还附带详细的安装搭建教程&#xff0c;让用户轻松搭…

2024年全国五大数学建模竞赛Top榜及难度分析!推荐数维杯!!!

发现最近许多同学都陆续开始准备今年的数学建模竞赛了&#xff0c;但是随着数学建模领域越来越普及&#xff0c;影响力越来越广泛&#xff0c;参加的同学也越来越多&#xff0c;就导致有越来越多各式各样的数学建模竞赛此起彼伏出现&#xff0c;但其中有一些竞赛其实并不值得参…