Map映射

(一)Map的定义和创建

Map 创建格式:

1.不可变 Map:val mapName: Map[KeyType, ValueType] = Map(key1 -> value1, key2 -> value2,...)

2.可变 Map(需导入scala.collection.mutable.Map):val mapName:

mutable.Map[KeyType, ValueType] = mutable.Map(key1 -> value2,...)

scala 复制代码
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 的常用方法

scala 复制代码
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}")
      }
    }
  }
}
相关推荐
是阿威啊7 天前
【用户行为归因分析项目】- 【企业级项目开发第五站】数据采集并加载到hive表
大数据·数据仓库·hive·hadoop·spark·scala
是阿威啊10 天前
【用户行为归因分析项目】- 【企业级项目开发第四站】模拟三类用户行为数据上传到Hadoop
大数据·hadoop·分布式·sql·scala
今天没有盐12 天前
Python字符串操作全解析:从基础定义到高级格式化
后端·scala·编程语言
是阿威啊13 天前
【用户行为归因分析项目】- 【企业级项目开发第一站】项目架构和需求设计
大数据·hive·hadoop·架构·spark·scala
代码于老总15 天前
【Scala 技巧】用隐式类给 String “开挂”:一行代码实现手机号 / 身份证号校验
scala
scala舔狗汪15 天前
scala的隐式对象和隐式类
scala
是阿威啊16 天前
【maap-analysis】spark离线数仓项目完整的开发流程
大数据·分布式·spark·scala
豚踢兔x21 天前
正则表达式应用-手机号打码
scala
代码于老总22 天前
正则表达式在 Scala 中的应用
scala
凯新生物1 个月前
聚乙二醇二生物素,Biotin-PEG-Biotin在生物检测中的应用
scala·bash·laravel·perl