24_Scala集合Map

文章目录

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
相关推荐
小小代码狗7 分钟前
PHP 常用函数与变量参考文档
开发语言·安全·php
编程阿峰30 分钟前
Python 环境配置(二)安装jupyter、matplotlib、numpy库
开发语言·python·jupyter·numpy·matplotlib
磁爆步兵1 小时前
内存分区:程序运行的核心秘密
java·开发语言·jvm
此生决int1 小时前
深入理解C++系列(06)——模版初阶与STL
开发语言·c++
swany2 小时前
同步数据中,只需要几秒钟 & milvus向量数据库不可用 dify1.16.1 升级后踩坑记录
开发语言·python·numpy
小杍随笔2 小时前
2025年Rust GUI框架实战万字避坑指南
开发语言·后端·rust
geovindu2 小时前
CSharp: LogHelper
开发语言·后端·c#·.net
奈斯先生Vector2 小时前
大模型 Agentic Workflow 架构解构:异构 API 调度与 Token 路由的多模态系统设计
开发语言·前端·架构·prompt·aigc·音视频
冻柠檬飞冰走茶2 小时前
PTA基础编程题目集 7-20 打印九九口诀表(C语言实现)
c语言·开发语言·数据结构·算法
fliter2 小时前
Go设计取舍之一: goroutine 为什么保持匿名、无状态
后端