小小千想和您聊一聊

当前位置: 首页> 技术分享> Scala系列之映射Map

Scala系列之映射Map

  4.2. 映射(map)

  在Scala中,把哈希表这种数据结构叫做映射。

  4.2.1. 构建映射

  在Scala中,有两种Map,一个是immutable包下的Map,该Map中的内容不可变;另一个是mutable包下的Map,该Map中的内容可变。

  构建一个不可变的map


  使用元组方式构建

  构建一个可变的map

  4.2.2. 获取和修改映射中的值

  根据键获取map中对应的值,可以有以下三种方法,尤其推荐使用getOrElse方法。

  修改可变map信息,遍历访问map

object MappingDemo {
  def main(args: Array[String]): Unit = {
    //定义构建一个可变的map
    val scores = scala.collection.mutable.Map ("zhangsan" -> 90, "lisi" -> 80, "wangwu" -> 0)
    //val scores2 = scala.collection.mutable.Map ("moumou"->50)   
    //修改map中对应键的值
    scores("wangwu") = 100

    //添加新的键值到map中
    scores("zhaoliu") = 50 //类似 scores.update("zhangsan",50)
    scores += ("sunqi" -> 60, "qianba" -> 99)
    //scores ++ =scores2

    //移除某个键值对
    scores -= "zhangsan" //类似 scores.remove("zhangsan")
    //scores -- =scores2 不好用???

    //获取键的集合并遍历
    //意义不大?如何通过建取到值
    val res = scores.keySet
    for(elem <- res)
      print(elem + "  ")
    println()

    //遍历map
    for ((k,v) <- scores)
      print(k+":"+v+"  ")
  }


  执行结果

  4.2.3. HashMap

  可变map

import scala.collection.mutable

object MutMapDemo extends App{
  val map1 = new mutable.HashMap[String, Int]()
  //向map中添加数据
  map1("spark") = 1
  map1 += (("hadoop", 2))
  map1.put("storm", 3)
  println(map1)

  //从map中移除元素
  map1 -= "spark"
  map1.remove("hadoop")
  println(map1)
}


上一篇:Scala系列之集合操作函数

下一篇:云计算编程 lsof恢复文件

QQ技术交流群

千锋大数据官方①群
857910996

加入群聊

用户登录

手机号:

密码:

图形验证码:

点击切换

用户注册

手机号:

登录密码:

图形验证码:

点击切换

短信验证码:

获取验证码

忘记密码

1安全验证

2重置密码

手机号:

图形验证码:

短信验证码:

获取验证码

忘记密码

1安全验证

2重置密码

新密码:

确认新密码:

获取课程

添加小千老师微信,获取课程信息

如何获取课程?

一、需拥有此本教材

如没有,可点击下方入口购买当当购买入口京东购买入口

二、添加小千老师,发送拥有凭证,解锁课程资源

1.购买该教材的订单信息
2.拥有的实体书信息等

更换手机号

新手机号:

图形验证码:

短信验证码:

获取验证码