scala的Map
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的更多相关文章
- Scala集合Map
在scala中Map分为可变长(mutable)和不可变长(immutable) /** * 不可变长map 长度一旦初始化,就不能在进行更改 */ // 通过箭头的方式创建map val map = ...
- scala (6) Map
在scala中Map分为可变长(mutable)和不可变长(imtable) /** * 不可变长map 长度一旦初始化,就不能在进行更改 */ // 通过对偶元组的方式创建map val map = ...
- scala之map,List,:: , +:, :+, :::, +++操作
scala之map,List操作 1.Map操作 2.List操作 2.1Demo1 2.2Demo2 3.:: , +:, :+, :::, +++ 1.Map操作 Map(映射)是一种可迭代的键值 ...
- Scala之Map,Tuple
/** * 1,默认情况下Map构造的是不可变的集合,里面的内容不可修改,一旦修改就变成新的Map,原有的Map内容保持不变: * 2,Map的实例是调用工厂方法模式apply来构造Map实例,而需要 ...
- scala中Map和Set
scala中Set包含可变set和不可变Set,set的子类HashSet,各有一个扩展了可变和不可变的set特质. 可变set import scala.collection.mutable.Se ...
- (转)scala中map与flatMap浅析
在函数式语言中,函数作为一等公民,可以在任何地方定义,在函数内或函数外,可以作为函数的参数和返回值,可以对函数进行组合.由于命令式编程语言也可以通过类似函数指针的方式来实现高阶函数,函数式的最主要的好 ...
- scala中Map集合的简单使用
import scala.collection.mutable /** * Map集合的简单使用 */ object MapUse { def main(args: Array[String]): U ...
- scala的map操作
新建一个不定参数的 map: var cs = mutable.Map.empty[String, String] 对其进行赋值: cs += (key -> value) 读取里面所有的 ke ...
- scala中Map和Tuple
/** * Created by root * Description : Tuple and Map */ object MapTest { def main(args: Array[String] ...
随机推荐
- POJ -棋盘问题
棋盘问题 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 60815 Accepted: 29135 Descriptio ...
- eclipse如何能快速找到某个文件夹或者文件
eclipse如何能快速找到某个文件夹或者文件 直接在editor中右键 Show in -> Package Explorer 在package explore 中选中link就可以了 (魔芋 ...
- 设置mysql5.7远程连接-----------https://blog.csdn.net/qiyueqinglian/article/details/52778230
https://blog.csdn.net/qiyueqinglian/article/details/52778230 设置mysql5.7远程连接
- ace & web ide & web code editor
ace & web ide & web code editor web ide https://ace.c9.io/ https://github.com/ajaxorg/ace ht ...
- [luoguP1879] [USACO06NOV]玉米田Corn Fields(DP)
传送门 说要统计方案,感觉就是个 Σ 而矩阵中只有 01 ,可以用二进制表示 这样,预处理出每一个每一行所有可能的状态 s 然后初始化第一行所有状态的方案数为 1 f[i][j] = Σf[i - 1 ...
- noip模拟赛 排列
[问题描述] 给出一个随机的排列,请你计算最大值减最小值的差小于等于0~n-1的区间分别有多少个. 输入格式 输入文件名为sum.in. 第一行一个数T(<=10),表示数据组数 对于每一组数据 ...
- 转载 - Struts2 拦截器详细配置过程
出处:http://www.blogjava.net/zzzlyr/archive/2009/10/12/297998.html Struts2 拦截器详细配置过程 1:所有拦截器的超级接口Inter ...
- Set database resumable
You can use bellow command to make your session resumable. Which means that if your session hit spac ...
- addEventListener()、attachEvent()和removeEventListener()、detachEvent()的差别?
addEventListener()和attachEvent()的差别? addEventListener:在HTML元素上绑定事件,FF.chrome.opera.safari及IE9浏览器以上的支 ...
- ARP病毒查找与防范
笔者是一名大学生,学的是网络project. 自然接触的网络就多了.当然免不了做些坏事,嘿嘿. 比如我经经常使用在网上学习的知识去測验一下我自己的电脑或者同学啥的,都是一些小打小闹. 无伤大雅,知道有 ...