scala集合之map使用

命运对每个人都是一样的,不一样的是各自的努力和付出不同,付出的越多,努力的越多,得到的回报也越多,在你累的时候请看一下身边比你成功却还比你更努力的人,这样,你就会更有动力。

导读:本篇文章讲解 scala集合之map使用,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

前言

map在scala的开发中算是使用非常频繁的集合之一,本文将通过实际的代码演示下map在scala中的使用

1、创建map

scala中的map主要分为2种类型,可变的map和不可变的map,这个和数组类似

 def main(args: Array[String]): Unit = {

    //不可变map
    val map1 = Map("name" -> "zhangsan","age" -> 12)
    println(map1)
    println()

    //可变map
    val map2 = mutable.Map("name" -> "zhangsan","age" -> 12)
    println(map2)

    //通过二元组的方式创建
    val map34 = mutable.Map(("name","jike"),("age",12),("city","hangzhou"))
    println(map34)

}

scala集合之map使用

当然,也可以创建一个空的map,然后往map里面填充数据

    val map3 = new mutable.HashMap[String,String];
    map3.put("name","jike")
    map3.put("city","hangzhou")
    println(map3)
    println()

scala集合之map使用

2、map中元素的修改与删除

修改map中的元素,必须是可变的map才可以做此操作

    //往map中继续添加元素
    println()
    map34.put("name","jiky")
    println(map34)

修改已经存在的某个元素只需要替换key的值即可

map继续添加元素

    map34 += ("salary" -> 10000)
    println(map34)

删除元素

    //删除元素
    println()
    map34 -= ("salary","10000")
    println(map34)

3、map中获取元素

scala中,提供了3种获取map中的key的方式,分别是:map(key),map.get(key),map.getOrElse()

    //通过二元组的方式创建
    val map34 = mutable.Map(("name","jike"),("age",12),("city","hangzhou"))
    println(map34)

    println()

    //直接获取某个存在的key
    println(map34("name"))

    //直接获取某个存在的key
    println(map34.get("age").get)

    //直接获取某个存在的key,不存在,使用默认值
    println(map34.getOrElse("age1","默认的值"))

scala集合之map使用

3、map遍历

scala中提供了多种遍历内部元素的方式,现列举如下

    //通过二元组的方式创建
    val map34 = mutable.Map(("name","jike"),("age",12),("city","hangzhou"))
    println(map34)
    println()

    //map遍历
    println()
    for((k,v) <- map34) println("k=" + k +",v="+v)

    println()
    for(v <- map34.keys) println("v="+v)

    println()
    for(v <- map34.values) println("v="+v)

    println()
    for(v <- map34) println("v="+v._2)

通过上面几种方式,都可以对整个map做遍历操作,其中最后一种得到的v是一个元组,需要继续从元组中获取value的值

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/143332.html

(0)

相关推荐

发表回复

登录后才能评论
半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!