scala学习笔记-Map

原创 2016年08月29日 16:42:20
scala中的映射对于java中的map,也是键值对形式,键不可重复,但是在get方式时有区别,当get不存在的键会抛出异常。代码示例如下:
object MapDemo extends App{
  //构造一个不可变的映射
  var map1 = Map("name"->"zhangSan","age"->14)
  var map2 = Map(("name","zhangSan"),("age",14))
  //构造一个可变的映射
  var map3 = scala.collection.mutable.Map(("name","zhangSan"),("name2","zhangSan"),("age",14))
   //如果是一个空的映射,需要给类型
  val map4 = new scala.collection.mutable.HashMap[String,Int]

  //获取映射的值
  val str1 = map1("name")    //如果不包含键name会抛出异常
  var str2 = if(map1.contains("name"))map1("name")else null
  var str3 = map1.getOrElse("name", null);


  //更新或增加映射的值
  map3("name") = "zhangSan"        //更新
  map3("address") = "BJ"            //新增
  map3 += ("gender"->"male","emale"->"111@163.com")  //增加

  //删除映射
  map3.remove("address")
  map3-= "gender"
  map3 -= ("name","emale")

  val newMap = map1 + ("gender" -> "female")    //map1不可改变但可以赋给新的map


  //迭代
  for((k,v) <- newMap){
    println(k +"\t"+v)
  }
  var keys = newMap.keySet;      //得到所有的key
  var values = newMap.values;    //得到所有的value

  //反转map的key,value 
  var resverseMap = for((k,v) <- newMap)yield(v,k)

}
版权声明:本文为博主原创文章,未经博主允许不得转载。

Scala学习笔记1 - 基础

本文档针对scala 2.10.x,由于scala目前发展迅速,因此可能会和其他版本的不同。 ===概述          scala是一门以java虚拟机(JVM)为目标运行环境并将面向对象和函...
  • guohecang
  • guohecang
  • 2016年08月04日 11:47
  • 747

scala Map类型笔记

//构造不可变的map val smap = Map("rocky" -> 27,"rocky1" -> 30) //smap += ("zhangsan" -> 88) // 不可...
  • pzw_0612
  • pzw_0612
  • 2015年05月25日 20:12
  • 8109

Scala中常见的容器 Map

Map(映射)是一种可迭代的键值对(key/value)结构。 所有的值都可以通过键来获取。 Map 中的键都是唯一的。 Map 也叫哈希表(Hash tables)。 M...
  • Winterto1990
  • Winterto1990
  • 2016年08月03日 17:07
  • 2424

[scala--基础]--map基本操作

运行环境:jdk1.7、scala-2.10.4 package study //数据结构map object TestMap { def main(args: Array[String])...
  • high2011
  • high2011
  • 2016年08月13日 19:53
  • 6421

scala学习(3)--map

scala在语法上和java千差万别,他的函数很多,但是他却完美的兼容java的语法和对象,今天我们就说一下他是如何兼容java的map的。java的map Map map = new HashedM...
  • lovemenghaibin
  • lovemenghaibin
  • 2017年03月07日 22:10
  • 1024

scala中map与flatMap浅析

在函数式语言中,函数作为一等公民,可以在任何地方定义,在函数内或函数外,可以作为函数的参数和返回值,可以对函数进行组合。由于命令式编程语言也可以通过类似函数指针的方式来实现高阶函数,函数式的最主要的好...
  • bitcarmanlee
  • bitcarmanlee
  • 2016年10月31日 16:39
  • 10975

scala中Map的用法

http://stackoverflow.com/questions/29383578/how-to-convert-rdd-object-to-dataframe-in-sparkval txt1 ...
  • u012307002
  • u012307002
  • 2016年12月20日 18:40
  • 643

Scala json转map,map转json

方案一:想map一样的json直接存值 import org.json.JSONObject def main(args: Array[String]): Unit = { ...
  • qq_34009542
  • qq_34009542
  • 2017年06月28日 16:18
  • 924

Scala中的Map使用例子

Map结构是一种非常常见的结构,在各种程序语言都有对应的api,由于Spark的底层语言是Scala,所以有必要来了解下Scala中的Map使用方法。 (1)不可变Map 特点: a...
  • u010454030
  • u010454030
  • 2016年12月27日 22:09
  • 11919

java Map 2 scala Map

import scala.collection.{JavaConverters, mutable}  val props: mutable.Map[String, String] =  JavaCo...
  • u013494310
  • u013494310
  • 2015年04月30日 21:03
  • 1495
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:scala学习笔记-Map
举报原因:
原因补充:

(最多只允许输入30个字)