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 ...
随机推荐
- 为什么出现ORM
ORM(Object Relational Mapping)对象关系映射,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术 . 为什么出现ORM? 面向对象的特征:我们通常使用的开发语言J ...
- 微信支付v2开发(1) 微信支付URL配置
本文介绍微信支付申请时如何设置授权目录及URL. 在申请微信支付时,第一项就会碰到下图的配置. 下面就对这一设置进行讲解! 一.选择支付类型 目前有两种支付类型 JS API网页支付 Native原生 ...
- 2013腾讯编程马拉松初赛第〇场(HDU 4503) 湫湫系列故事——植树节
http://acm.hdu.edu.cn/showproblem.php?pid=4503 题目: 已知湫湫的班里共有n个孩子,每个孩子有Bi个朋友(i从1到n),且朋友关系是相互的,如果a小朋友和 ...
- android开发-获取wifi列表
近期博主在学frangment框架,因此想着想着就想通过listfragment完毕对wifi列表的获取. 好! 如今就不说废话了. 一.wifi的基础知识 在Android的官方文档中定义了例如以下 ...
- js闭包作用(避免使用全局变量)
js闭包作用(避免使用全局变量) 一.总结 1.优点::可以把局部变量驻留在内存中,可以避免使用全局变量; 2.缺点:也有占用更多内存的缺点,用完要及时让垃圾回收器回收 fn=null //应及时解 ...
- flink DataStream API使用及原理
传统的大数据处理方式一般是批处理式的,也就是说,今天所收集的数据,我们明天再把今天收集到的数据算出来,以供大家使用,但是在很多情况下,数据的时效性对于业务的成败是非常关键的. Spark 和 Flin ...
- 11995 - I Can Guess the Data
大意:猜数据结构是栈.队列或者优先队列,可能为两种以上,也可能都不是. 水题.. STL 记得判断是否为空 #include<iostream> #include<cstdio> ...
- u-boot分析1:Nandflash、Norflash启动
了解u-boot之前首先了解下Bootloader,简单说Bootloader就是一段小程序,它在系统上电时开始运行,初始化硬件设备,准备好软件环境,最后调用操作系统内核. u-boot全称:Univ ...
- Python 爬虫从入门到进阶之路(五)
在之前的文章中我们带入了 opener 方法,接下来我们看一下 opener 应用中的 ProxyHandler 处理器(代理设置). 使用代理IP,这是爬虫/反爬虫的第二大招,通常也是最好用的. 很 ...
- iOS ASIHTTPRequest
ASIHTTPRequest对CFNetwork API进行了封装,并且使用起来非常简单,用Objective-C编写,可以很好的应用在Mac OS X系统和iOS平台的应用程序中.ASIHTTPRe ...