scala map的常用操作
package cn.scala_base /**
* map常用操作
*/
object Map { def main(args: Array[String]): Unit = { //1.不可变map(有序)
val map1 = scala.collection.immutable.Map("wyc"->30,"tele"->20,"yeye"->100,"haha"->1000);
println(map1("wyc"));
println("map1---" + map1); //error
// map1("wyc")=100; //2. 可变map
val map2 = scala.collection.mutable.Map("wyc"->30,"tele"->20,"yeye"->100);
map2("wyc")=10000;
println(map2("wyc")); val map3 = scala.collection.mutable.Map(("wyc",100),("tele",1000),("yeye",10000));
println(map3("wyc")); //3.创建HashMap(无序)
val hashMap = new scala.collection.mutable.HashMap[String,Int]; //为map增加元素
hashMap += ("wyc"->1);
println(hashMap("wyc")) //移除元素
hashMap -= "wyc"; //检查key是否存在
if(hashMap.contains("wyc")) println(hashMap("wyc")) else println(0); //使用getOrElse进行检查
println(hashMap.getOrElse("wyc","不存在")); //根据key进行排序的SortedMap,注意是immutable
val sortedMap = scala.collection.immutable.SortedMap("wyc"->100,"tele"->1000);
println("sortedMap----" + sortedMap); //有序的LinkedHashMap
val linkedHashMap = scala.collection.mutable.LinkedHashMap("wyc"->100,"tele"->1000);
println("linkedHashMap----" + linkedHashMap); //对于不可变的map1进行更新,其实是返回新的不可变map
val mapX = map1 + ("newEntry"->1);
val mapY = map1 - "wyc"; //遍历Map
for((key,value)<- map3) {
println(key + ":" + value);
} for(key <- map3.keySet) {
println(key + ":" + map3(key));
} //只遍历values
/*for(value<-map3.values) {
println(value);
}*/ //反转key与value
val reverseMap = for((key,value)<-map3) yield (value,key);
for(key<- reverseMap.keySet) {
println(key + ":" + reverseMap(key));
} } }
scala map的常用操作的更多相关文章
- Map的常用操作
public static void main(String[] args) { Map<String, String> map = new HashMap<>(); map. ...
- 快学Scala 第三课 (定长数组,变长数组, 数组循环, 数组转换, 数组常用操作)
定长数组定义: val ar = new Array[Int](10) val arr = Array("aa", "bb") 定长数组赋值: arr(0) = ...
- Java Map常用操作
Java之map常用操作 package basic; import java.util.HashMap; import java.util.Map; /** *Map常用操作方法 */ public ...
- scala - Map基础
Map 构造Map 不可变: val map = Map("sa" -> 1, "s" -> 2)map("sa") = 3 / ...
- mongodb的常用操作
对于nosql之前工作中有用到bekerlydb,最近开始了解mongodb,先简单写下mongodb的一些常用操作,当是个总结: 1.mongodb使用数据库(database)和集合(collec ...
- js,jQuery数组常用操作小结
一.js中数组常用操作小结 (1) shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift() ...
- Scala基础类型与操作
Scala基本类型及操作.程序控制结构 Scala基本类型及操作.程序控制结构 (一)Scala语言优势 自身语言特点: 纯面向对象编程的语言 函数式编程语言 函数式编程语言语言应该支持以下特性: 高 ...
- ArcGIS中的坐标系:基本概念和常用操作(一)
本文呢是主要是借鉴李郎平李大大的博士论文和百度百科,里面还有一点点我自己的理解,希望能帮助自己加深对于坐标系的认识. 李大大的博客:http://blog.sciencenet.cn/u/Brume ...
- Hadoop2.7.6_02_HDFS常用操作
1. HDFS常用操作 1.1. 查询 1.1.1. 浏览器查询 1.1.2. 命令行查询 [yun@mini04 bin]$ hadoop fs -ls / 1.2. 上传文件 [yun@mini ...
随机推荐
- 使用 STL 辅助解决算法问题
不要重复制造轮子,而且你造的轮子未必比得上别人的: <numeric>⇒ accumulate,累积容器中区间的和,可以指定初值: 为什么 STL 中的容器和算法一定关于区间的操作一定是左 ...
- 将一个类写成WebService服务的形式
WebService是一种跨编程语言和跨操作系统平台的远程调用技术,主要解决不同语言写的应用程序之间.不同平台(linux/windows/andrid)之间的通信,即异构系统之间的通信. 常用的天气 ...
- angular 响应式表单(登录实例)
一.表单验证 1. 只有一个验证规则: this.myGroup = this.fb.group({ email:['hurong.cen@qq.com',Validators.required], ...
- (转)高强度密码管理软件KeePass使用详解
转自:http://www.ruancan.com/ 算下来,你接触电脑有多久了?从第一次上网,到今天,你一共申请了多少个网站或者软件的帐号?相信这是一个几乎无人能够回答的问题. 无数人面临着这两个问 ...
- uvalive 6393(uva 1572) Self-Assembly 拓扑排序
题意: 给出一些正方形,这些正方形的每一条边都有一个标号.这些标号有两种形式:1.一个大写字母+一个加减号(如:A+, B-, A-......), 2.两个0(如:00):这些正方形能够任意翻转和旋 ...
- “-bash: !”: event not found"、echo > sudo permission denied
1. "-bash: !": event not found" 比如当我们在 linux 命令行输入echo "Reboot your instance!&qu ...
- 判断是iphone或是ipad 和 系统版本
//判断是iphone或是ipad等 NSLog(@"Device -- %@",[UIDevice currentDevice].model); //系统版本 NSLog(@&q ...
- Apache与weblogic整合实战(独家研究)
用apache来处理外界的请求,再把请求转发给wls,这样就行突破wls express版本号的5用户限制 详细配置例如以下 copy ${WLS_Server}/server/lib下的mod_wl ...
- jsp页面无法解析EL表达式问题
Servlet版本的问题.原来Servlet中可以设定是否解析EL表达式,只有2.4版本的Servlet默认是解析EL表达式的,而其他版本是默认不解析EL表达式.于是把web.xml中使用的2.5版本 ...
- 使用Html5开发Android和iOS应用:HBuilder、Html5Plus、MUI
活动主题:五一巨献,问答有礼,105QB送给IT互联网界的劳动人民活动时间:4月30日晚上10点~5月2日晚上10点网址: http://ask.jiutianniao.com 2014年的时候,就 ...