package com.test.scala.test

object MapTest {

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

      //定义一个不可变的map
var map=Map("apa"->50,"zhangsan"->75,"王五"->60);
println(map("zhangsan"))//类似与java get取值 //定义一个可变的map
var scores=scala.collection.mutable.Map("apa"->50,"zhangsan"->75,"王五"->60);
println(scores.getOrElse("apa", 0)) //在可变map中增加值,或移除值
scores+=("a"->45)//添加某个键
scores-="王五";//移除某个键 //迭代map
//循环scores的建
val key=scores.keys;
for(i<-key)println(i) //单独循环scores的值
val value=scores.values;
for(i<-value)println(i) //循环scores的key 与value
for((k,v)<-scores)println(k+"->"+v) //反转映射,将key与value对调控制
val newScores=for((k,v)<-scores) yield (v,k)
for((k,v)<-newScores)println(k+"->"+v) //元组,元组用()来定义,它可以用于返回值不是一个的情况的函数
val yuanzu=(1,3,"444");
println(yuanzu._2) //使用元组可以进行拉链操作,可以把多个值绑定在一起,并一起处理.可以配对
var a1=Array(1,2,3)
var a2=Array("A","B","C")
var pairs=a1.zip(a2);
for((k,v)<-pairs)println(k+"->"+v) //将对偶的的集合转换为
var hh=a1.zip(a2).toMap
for(i<-hh.values)println(i)
} }

scala的Map的更多相关文章

  1. Scala集合Map

    在scala中Map分为可变长(mutable)和不可变长(immutable) /** * 不可变长map 长度一旦初始化,就不能在进行更改 */ // 通过箭头的方式创建map val map = ...

  2. scala (6) Map

    在scala中Map分为可变长(mutable)和不可变长(imtable) /** * 不可变长map 长度一旦初始化,就不能在进行更改 */ // 通过对偶元组的方式创建map val map = ...

  3. scala之map,List,:: , +:, :+, :::, +++操作

    scala之map,List操作 1.Map操作 2.List操作 2.1Demo1 2.2Demo2 3.:: , +:, :+, :::, +++ 1.Map操作 Map(映射)是一种可迭代的键值 ...

  4. Scala之Map,Tuple

    /** * 1,默认情况下Map构造的是不可变的集合,里面的内容不可修改,一旦修改就变成新的Map,原有的Map内容保持不变: * 2,Map的实例是调用工厂方法模式apply来构造Map实例,而需要 ...

  5. scala中Map和Set

    scala中Set包含可变set和不可变Set,set的子类HashSet,各有一个扩展了可变和不可变的set特质.  可变set import scala.collection.mutable.Se ...

  6. (转)scala中map与flatMap浅析

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

  7. scala中Map集合的简单使用

    import scala.collection.mutable /** * Map集合的简单使用 */ object MapUse { def main(args: Array[String]): U ...

  8. scala的map操作

    新建一个不定参数的 map: var cs = mutable.Map.empty[String, String] 对其进行赋值: cs += (key -> value) 读取里面所有的 ke ...

  9. scala中Map和Tuple

    /** * Created by root * Description : Tuple and Map */ object MapTest { def main(args: Array[String] ...

随机推荐

  1. java 中序列化(Serializable)

    18年5月份,在毕业快一年的时候,我终于把自己从研发助理偏向行政打杂,偶尔写一些前端代码的处境,回归到了初衷-安安静静写前后端代码的小小程序员~过程中的心酸也就不在这里吐啦,毕竟我是小太阳,永不熄灭的 ...

  2. Discuz 部署,500 – 内部服务器错误。 您查找的资源存在问题,因而无法显示。

    Windows7 IIS 500 – 内部服务器错误解决方案 1.解决方法:打开IIS,在功能视图中找到“错误页”,双击进去后,看最右边的“操作”下的“编辑功能设置…”,将“错误响应”下的“详细错误” ...

  3. [luoguP1922] 女仆咖啡厅桌游吧(奇奇怪怪的树形DP)

    传送门 什么鬼的题? 代码 #include <cstdio> #include <cstring> #include <iostream> #define N 1 ...

  4. poj 2114 树的分治 可作模板

    /* 啊啊啊啊啊啊啊本题证明一个问题,在实际应用中sort比qsort块 还有memset这类初始化能不加尽量别加,很浪费时间 原来的程序把qsort该成sort,去掉一个无用memset就a了时间不 ...

  5. 简单的事件处理类Event

    class Event{ constructor(){ this.handlers=[] } on(type,fn){ //订阅事件 if(!this.handlers[type]){ this.ha ...

  6. Android GIS开发系列-- 入门季(3) GraphicsLayer添加点、线、面

    GraphicsLayer是图形图层,可以自定义图形添加到地图上.调用GraphicsLayer的addGraphic方法就能添加图形,此方法要一个Graphic对象,此对象的构造方法是Graphic ...

  7. MySQL: How to support full Unicode in MySQL databases

    How to support full Unicode in MySQL databases Published 30th July 2012 · tagged with MySQL, securit ...

  8. 再次讨论javascript 中的this

    原文: http://www.jb51.net/article/77519.htm 核心总结: 1.不论函数在哪里被调用,只要没有指定调用方,则this都指向window.指定了调用方,就指向调用方. ...

  9. 违章查询免费api接口代码

    能够依据城市+车牌号+发动机号查询违章信息列表. 违章实体类 package org.wx.xhelper.model; /** * 违章实体类 * @author wangxw * @version ...

  10. 转 C# 将字符串转换为计算公式,并计算结果

    根据总结,大概分为以下三种: 第一种: 用DataTable中的Compute方法. 例如:" 1*2*3 " 代码如下: var a = new System.Data.Data ...