Map映射详解:概念、用法与实际应用场景
时间:2026-08-15 | 作者:清风无痕 | 阅读:0(一)Map的定义和创建
Map 创建格式:
1. 不可变 Map
不可变 Map 的写法是这样的:
val mapName: Map[KeyType, ValueType] = Map(key1 -> value1, key2 -> value2, ...)
2. 可变 Map
可变 Map 需导入 scala.collection.mutable.Map。
写法如下:
val mapName: mutable.Map[KeyType, ValueType]
也可以直接这样创建:
mutable.Map(key1 -> value2, ...)
package map
/**
* Map: 映射
* 键值对,键不能有相同的!
* (key, value)
*
* 豫 -> 湖北省
* 湘 -> 湖南省
* 赣 -> 江西省
*
* 01 -> xxx
* 02 -> yyy
*/
object map01 {
def main(args: Array[String]): Unit = {
val map1 = Map("alice" -> 90, ("bob" -> 80), ("bob" -> 100))
// bob这个键有重复,只保留一个
println(map1)
}
}
说明:Map 中的键不能重复。
如果出现重复键,例如上面的 bob,则只保留一个。
(二)Map 的常用方法
常见操作包括
- 添加元素
- 删除元素
- 查询元素
- 遍历输出
package map
object map01 {
def main(args: Array[String]): Unit = {
val map1 = scala.collection.mutable.Map(("alice" -> 90), ("bob" -> 80), ("bob" -> 100))
// bob这个键有重复,只保留一个
println(map1)
// 1 添加
map1 += ("judy" -> 90)
// 2 删除
map1 -= "bob"
// 3 查询元素
val key = "alice"
val ret = map1.get(key)
if (ret.isDefined) {
println(s"${key} 对应的值是:${ret.get}")
} else {
println(s"${key} 不存在")
}
println(ret)
// 4. for 循环输出所有
for ((a, b) <- map1) {
println(s"${a}, ${b}")
}
map1.foreach {
case (key, value) => {
println(s"${key}, ${value}")
}
}
}
}
方法说明
- 添加:
map1 += ("judy" -> 90) - 删除:
map1 -= "bob" - 查询:
map1.get(key) - 遍历:可以使用
for循环,也可以使用foreach
查询结果使用 get 返回后,需要先判断是否存在。
如果 ret.isDefined 为 true,则说明该 key 存在。
这时可以通过 ret.get 取到对应的值。
重点:Map 是键值对结构,键不能有相同的。
学习时可重点掌握创建、增删、查询和遍历这几类常用操作。
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- 迅捷路由器怎么调信号最强,设置时要注意什么?
- 时间:2026-08-27
-
- vivo浏览器怎么卸不掉?原因和解决方法在这里
- 时间:2026-08-27
-
- OPPO R11s黑屏了,怎么强制恢复出厂设置?
- 时间:2026-08-27
-
- 飞利浦显示器包装盒有生产日期和保修期吗?怎么看?
- 时间:2026-08-27
-
- 联想新平板开机必须联网吗?怎么做?
- 时间:2026-08-27
-
- 平板横竖屏切换设置与问题解决
- 时间:2026-08-27
-
- 移动电源容量怎么测?要准备哪些工具?
- 时间:2026-08-27
-
- 荣耀90 Pro防水吗?防水级别多少?怎么用才安全
- 时间:2026-08-27
精选合集
更多大家都在玩
大家都在看
更多-
- 以下哪种食材被称为“地下苹果” 蚂蚁庄园今日答案9.18
- 时间:2026-09-17
-
- 蚂蚁庄园今天答题答案2026年9月18日
- 时间:2026-09-17
-
- 蚂蚁庄园答题今日答案2026年9月18日
- 时间:2026-09-17
-
- 蚂蚁庄园小课堂2026年9月18日最新题目答案
- 时间:2026-09-17
-
- 小鸡答题今天的答案是什么2026年9月18日
- 时间:2026-09-17
-
- 蚂蚁庄园每日答题答案2026年9月18日
- 时间:2026-09-17
-
- 蔬菜洗完掉色,说明是被染色了,是真的吗 蚂蚁庄园今日答案9月18日
- 时间:2026-09-17
-
- 满襟蜡绘花纹巧染就花纹当绣裳说的是哪种传统技艺 蚂蚁新村今日答案2026.9.17
- 时间:2026-09-17
