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的常用操作的更多相关文章

  1. Map的常用操作

    public static void main(String[] args) { Map<String, String> map = new HashMap<>(); map. ...

  2. 快学Scala 第三课 (定长数组,变长数组, 数组循环, 数组转换, 数组常用操作)

    定长数组定义: val ar = new Array[Int](10) val arr = Array("aa", "bb") 定长数组赋值: arr(0) = ...

  3. Java Map常用操作

    Java之map常用操作 package basic; import java.util.HashMap; import java.util.Map; /** *Map常用操作方法 */ public ...

  4. scala - Map基础

    Map 构造Map 不可变: val map = Map("sa" -> 1, "s" -> 2)map("sa") = 3 / ...

  5. mongodb的常用操作

    对于nosql之前工作中有用到bekerlydb,最近开始了解mongodb,先简单写下mongodb的一些常用操作,当是个总结: 1.mongodb使用数据库(database)和集合(collec ...

  6. js,jQuery数组常用操作小结

    一.js中数组常用操作小结 (1) shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift() ...

  7. Scala基础类型与操作

    Scala基本类型及操作.程序控制结构 Scala基本类型及操作.程序控制结构 (一)Scala语言优势 自身语言特点: 纯面向对象编程的语言 函数式编程语言 函数式编程语言语言应该支持以下特性: 高 ...

  8. ArcGIS中的坐标系:基本概念和常用操作(一)

    本文呢是主要是借鉴李郎平李大大的博士论文和百度百科,里面还有一点点我自己的理解,希望能帮助自己加深对于坐标系的认识. 李大大的博客:http://blog.sciencenet.cn/u/Brume ...

  9. 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 ...

随机推荐

  1. 机器学习算法中怎样选取超參数:学习速率、正则项系数、minibatch size

    本文是<Neural networks and deep learning>概览 中第三章的一部分,讲机器学习算法中,怎样选取初始的超參数的值.(本文会不断补充) 学习速率(learnin ...

  2. js进阶 14-2 如何用ajax验证登陆状态(这里用load方法)

    js进阶 14-2 如何用ajax验证登陆状态(这里用load方法) 一.总结 一句话总结:$('#test').load('test.php?password=1234560'),这样就get方式提 ...

  3. CSS伪元素与伪类的区别

    伪类和伪元素介绍 伪类:伪类选择元素基于的是当前元素处于的状态,或者说元素当前所具有的特性,而不是元素的id.class.属性等静态的标志.由于状态是动态变化的,所以一个元素达到一个特定状态时,它可能 ...

  4. Flask项目之手机端租房网站的实战开发(一)

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 一丶项目介绍 产品:关于手机移动端的租房网站 角色:在这个产品中用户包括房东与房客 功能:房东可以在这个平台发布自己的房屋,房客可 ...

  5. struts2笔记---struts2的执行过程

    1.服务器启动: 加载项目web.xml 创建struts核心过滤器对象,执行filter-->init() struts-default.xml     核心功能的初始化 struts-plu ...

  6. Linux下的lds链接脚本简介(二)

    七. SECTIONS命令 SECTIONS命令告诉ld如何把输入文件的sections映射到输出文件的各个section: 如何将输入section合为输出section; 如何把输出section ...

  7. OC学习篇之---Foundation框架中的NSObject对象

    从这篇文章开始我们开始介绍Foundation框架. OC中的Foundation框架是系统提供了,他就相当于是系统的一套api,和Java中的一些系统jar很相似,又早起的一批人开发的,内部有很多现 ...

  8. [AngularJS] Write a simple Redux store in AngularJS app

    The first things we need to do is create a reducer: /** * CONSTANT * @type {string} */ export const ...

  9. css3-11 如何设置文字的阴影

    css3-11 如何设置文字的阴影 一.总结 一句话总结:text-shadow属性.text-shadow:3px 3px 3px #f0f; 1.text-shadow属性的参数依次是什么意思? ...

  10. html5 在移动端的缩放控制

    viewport 语法介绍: 01 <!-- html document --> 02 <meta name="viewport" 03     content= ...