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] ...
随机推荐
- 产品需求分析神器:KANO模型分析法
前言: 任何一个互联网产品,哪怕是一个简单的页面,也会涉及到很多的需求,产品经理也会经常遇到这样的情况:老板,业务提的各种新需求一下子都扎堆,哪个需求对用户来说最重要,用户对我们的新功能是否满意?开发 ...
- 关于${ctx}拿不到值的问题
当项目开发时我们喜欢用 <c:set var="ctx" value="${pageContext.request.contextPath}"/>来 ...
- Javaweb中文乱码问题
request.setCharacterEncoding("utf-8");必须写在获得参数之前,即request.getParameter();之前
- SQL SERVE BASE
http://www.cnblogs.com/chillsrc/category/49632.html
- 非常适合新手的jq/zepto源码分析05
zepto的原型 $.fn 属性: constructor //构造行数 forEach: emptyArray.forEach, //都是原生数组的函数reduce: emptyArray.re ...
- 关于jQuery的append()和prepend()方法的小技巧
最近工作上有个需求是要求一个自动向上滚动的列表,表有很多行,但只显示一行,每次滚动一行.很简单的一个功能,代码如下 <div class="scroll-area"> ...
- dubbo bug之 Please check registry access list (whitelist/blacklist)的分析与解决
1.基本就是dubbo provider没有启动会造成这种情况. 2.api和service是同一个项目,并不是俩项目. 通过启动api,run on server是不能启动service的,必须通过 ...
- go语言slice的理解
Golang slice yongsean 作者 2017.02.17 00:07 打开App 创建切片,len.cap.append b := make([]int, 5) println(le ...
- Spring mvc 时间转换
http://www.cnblogs.com/ssslinppp/p/4600043.html
- CoreData使用方法三: NSPredicate在CoreData中的使用
NSPredicate在CoreData中经常使用作查询使用,相当于sql语句中的where查询子句. 最经常使用的方法为: NSPredicate *ca = [NSPredicate predic ...