当前位置: 首页 > news >正文

保定市城市规划建设局网站教育机构网站

保定市城市规划建设局网站,教育机构网站,网站下载app连接怎么做的,网站建设与维护培训Scala—Map用法详解 在 Scala 中,Map 是一种键值对的集合,其中每个键都是唯一的。Scala 提供了两种类型的 Map:不可变 Map 和可变 Map。 1. 不可变集合(Map) 不可变 Map 是默认的 Map 实现,位于 scala.co…

Scala—Map用法详解

在 Scala 中,Map 是一种键值对的集合,其中每个键都是唯一的。Scala 提供了两种类型的 Map:不可变 Map 和可变 Map

在这里插入图片描述


1. 不可变集合(Map

不可变 Map 是默认的 Map 实现,位于 scala.collection.immutable 包中。一旦创建,不可变 Map 的内容不能被修改,但可以通过操作返回新的 Map

// 创建一个空的 Map
val emptyMap: Map[String, Int] = Map()// 创建一个包含初始键值对的 Map
val map1: Map[String, Int] = Map("one" -> 1, "two" -> 2, "three" -> 3)

在这里插入图片描述

常见操作
  1. 添加键值对
    • +:添加一个键值对
    • ++:添加多个键值对

val newMap1 = map1 + ("four" -> 4) // 添加一个键值对
val newMap2 = map1 ++ Map("four" -> 4, "five" -> 5) // 添加多个键值对

在这里插入图片描述

  1. 删除键值对
    • -:删除一个键值对
    • --:删除多个键值对

val newMap3 = map1 - "one" // 删除一个键值对
val newMap4 = map1 -- List("one", "two") // 删除多个键值对

在这里插入图片描述

  1. 检查键是否存在

    • contains:检查是否包含某个键
    val containsOne = map1.contains("one") // 结果: true
    
  2. 获取值

    • apply:通过键获取值
    • get:通过键获取值,返回 Option 类型
    • getOrElse:通过键获取值,如果不存在则返回默认值

val valueOfOne = map1("one") // 获取键 "one" 对应的值
val optionValueOfOne = map1.get("one") // 获取键 "one" 对应的值,返回 Option
val defaultValue = map1.getOrElse("six", 0) // 获取键 "six" 对应的值,如果不存在则返回 0

在这里插入图片描述

  1. 遍历键值对

    • foreach:遍历所有键值对
    • keys:获取所有键
    • values:获取所有值
    • map:映射所有键值对
    • filter:过滤键值对
    map1.foreach { case (key, value) => println(s"$key -> $value") } // 遍历并打印所有键值对val keys = map1.keys // 获取所有键
    val values = map1.values // 获取所有值val mappedMap = map1.map { case (key, value) => (key, value * 2) } // 映射所有键值对
    println(mappedMap.mkString(", ")) // 输出: one -> 2, two -> 4, three -> 6val filteredMap = map1.filter { case (key, value) => value > 1 } // 过滤值大于 1 的键值对
    println(filteredMap.mkString(", ")) // 输出: two -> 2, three -> 3
    
  2. 转换操作

    • toList:转换为 List
    • toArray:转换为数组
    val list = map1.toList // 转换为 List
    val array = map1.toArray // 转换为数组
    

2. 可变集合(mutable.Map

可变 Map 位于 scala.collection.mutable 包中,可以动态地添加和删除键值对。

import scala.collection.mutable.Map// 创建一个空的 Map
val emptyMap: Map[String, Int] = Map()// 创建一个包含初始键值对的 Map
val map1: Map[String, Int] = Map("one" -> 1, "two" -> 2, "three" -> 3)

在这里插入图片描述

常见操作
  1. 添加键值对
    • +=:添加一个键值对
    • ++=:添加多个键值对

map1 += ("four" -> 4) // 添加一个键值对
map1 ++= Map("five" -> 5, "six" -> 6) // 添加多个键值对

在这里插入图片描述

  1. 删除键值对
    • -=:删除一个键值对
    • --=:删除多个键值对

map1 -= "one" // 删除一个键值对
map1 --= List("two", "three") // 删除多个键值对

在这里插入图片描述

  1. 检查键是否存在

    • contains:检查是否包含某个键
    val containsOne = map1.contains("one") // 结果: false
    
  2. 获取值

    • apply:通过键获取值
    • get:通过键获取值,返回 Option 类型
    • getOrElse:通过键获取值,如果不存在则返回默认值

val valueOfFour = map1("four") // 获取键 "four" 对应的值
val optionValueOfFour = map1.get("four") // 获取键 "four" 对应的值,返回 Option
val defaultValue = map1.getOrElse("seven", 0) // 获取键 "seven" 对应的值,如果不存在则返回 0

在这里插入图片描述

  1. 遍历键值对

    • foreach:遍历所有键值对
    • keys:获取所有键
    • values:获取所有值
    • map:映射所有键值对
    • filter:过滤键值对
    map1.foreach { case (key, value) => println(s"$key -> $value") } // 遍历并打印所有键值对val keys = map1.keys // 获取所有键
    val values = map1.values // 获取所有值val mappedMap = map1.map { case (key, value) => (key, value * 2) } // 映射所有键值对
    println(mappedMap.mkString(", ")) // 输出: four -> 8, five -> 10, six -> 12val filteredMap = map1.filter { case (key, value) => value > 4 } // 过滤值大于 4 的键值对
    println(filteredMap.mkString(", ")) // 输出: five -> 5, six -> 6
    
  2. 转换操作

    • toList:转换为 List
    • toArray:转换为数组
    val list = map1.toList // 转换为 List
    val array = map1.toArray // 转换为数组
    

http://www.hkea.cn/news/124469/

相关文章:

  • 建设部网站从何时可以查询工程师证深圳全网推广服务
  • 网页制作工具的选择与网站整体风格是有关系的友情链接论坛
  • 免费商会网站模板百度推广账号
  • 玄武模板网站制作品牌关键词排名点击软件网站
  • 网站title的写法微信软文怎么写
  • 设计企业网站流程磁力引擎
  • 橙色企业网站模板域名注册购买
  • 培训建设网站线上推广产品
  • 写作网站不屏蔽全网关键词指数查询
  • wordpress手机uiseo关键词的选择步骤
  • 自己制作网页的步骤windows优化大师在哪里
  • 黑龙江企业信息系统seo推广优化外包公司
  • wordpress+增加域名赣州网站seo
  • 政府门户网站建设思路怎样优化网络
  • 厦门个人网站建设百度账户代运营
  • 企业网站开发注意什么企业网站官网
  • 网站建设开发合同书关键词怎么找出来
  • 常州微信网站建设附子seo
  • 上海网站seo招聘十种营销方式
  • 农产品网络营销模式百度推广怎么优化
  • 公司网站维护如何做分录自己搭建一个网站
  • 做期货浏览哪些网站网络优化工程师前景如何
  • 垂直b2b电子商务网站有哪些google搜索排名优化
  • 建设中网站源码网络推广工具和方法
  • 厦门做点击付费网站培训教育
  • 常州网站建设案例网站制作建设公司
  • 外国人做家具的网站一站传媒seo优化
  • 佛山h5建站模板怎样优化网站
  • 第三方做公司网站谷歌搜索广告优化
  • 网站风格模板快速排名精灵