scala中Map集合的简单使用
import scala.collection.mutable /**
* Map集合的简单使用
*/
object MapUse {
def main(args: Array[String]): Unit = { // 创建一个空的map -- 注意:这里要用实现类,因为Map是抽象类,使用时需要声明具体实现类
val emptyMap = new mutable.HashMap[String,Int]()
println(emptyMap) // Map() // 不可变Map
val immutableMap = Map("Jim" -> 22, "yxj" -> 32)
println(immutableMap)
//immutableMap("yxj") = 33
// Error:(9, 5) value update is not a member of scala.collection.immutable.Map[String,Int]
// immutableMap("yxj") = 33 // 创建可变的map
val ages = scala.collection.mutable.Map("jim" -> 20, "link" -> 33)
println(ages)
// 可以正常修改
ages("jim") = 30
println(ages) // 获取一个key 33
println(ages("link")) // 获取不存在的key会报异常 Exception in thread "main" java.util.NoSuchElementException: key not found: yxj
//println(ages("yxj"))
// 可以使用contains方法
val yxj = if(ages.contains("yxj")) ages("yxj") else 0
println(yxj) // 打印 0
// 更好的方法是使用函数: getOrElse
val wll = ages.getOrElse("wulanlan" , 1)
println(wll) // 打印 1 // 修改 不可变map
val maps = immutableMap + ("yxj"-> 33)
println(maps) // 打印 Map(Jim -> 22, yxj -> 33) val map = immutableMap - "Jim"
println(map) // map的遍历,遍历所有的
for ((key , value) <- ages){
println(key + ":" + value)
} // 遍历key
for(key <- ages.keySet){
println("key=" + key)
} // 遍历 value
for( value <- ages.values) {
println("value=" + value)
}
} }
scala中Map集合的简单使用的更多相关文章
- Programming In Scala笔记-第十七章、Scala中的集合类型
本章主要介绍Scala中的集合类型,主要包括:Array, ListBuffer, Arraybuffer, Set, Map和Tuple. 一.序列 序列类型的对象中包含多个按顺序排列好的元素,可以 ...
- (转)scala中map与flatMap浅析
在函数式语言中,函数作为一等公民,可以在任何地方定义,在函数内或函数外,可以作为函数的参数和返回值,可以对函数进行组合.由于命令式编程语言也可以通过类似函数指针的方式来实现高阶函数,函数式的最主要的好 ...
- java中Map集合的常用方法 (转)
原文地址:https://www.cnblogs.com/xiaostudy/p/9510763.html Map集合和Collection集合的区别 Map集合是有Key和Value的,Collec ...
- java中Map集合的常用方法
Map集合和Collection集合的区别 Map集合是有Key和Value的,Collection集合是只有Value. Collection集合底层也是有Key和Value,只是隐藏起来. V p ...
- java中Map集合的理解
Map |--Hashtable:底层是哈希表数据结构,不可以存入null键null值.该集合是线程同步的.jdk1.0.效率低. |--HashMap:底层是哈希表数据结构,允许使用 null 值和 ...
- scala中Map和Set
scala中Set包含可变set和不可变Set,set的子类HashSet,各有一个扩展了可变和不可变的set特质. 可变set import scala.collection.mutable.Se ...
- Java中map集合系列原理剖析
看了下JAVA里面有HashMap.Hashtable.HashSet三种hash集合的实现源码,这里总结下,理解错误的地方还望指正 HashMap和Hashtable的区别 HashSet和Hash ...
- java中map集合的迭代
import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class TestMap { pu ...
- scala中list集合的操作与总结
/** * Created by root * Description : List */ object ListTest { def main(args: Array[String]): Unit ...
随机推荐
- fabs() abs()
fabs() 面向实数取绝对值 abs() 返回int
- nuxt 利用lru-cache 做服务器数据请求缓存
// 运行与服务端的js // node.js lru-cache import LRU from 'lru-cache' const lruCache = LRU({ // 缓存队列长度 max: ...
- unicode_stop - 撤销控制台unicode模式(例如, 回到8-bit模式).
总览 unicode_stop 描述 unicode_stop 撤销以前 unicode_start(1) 命令的效果, 将显示屏和键盘设回到 8-bit 模式.
- Codeforces 1152D DP
题意:有一颗由长度为2 * n的合法的括号序列构成的字典树,现在你需要在这颗字典树上选择一些不连接的边,问最多可以选择多少条边? 思路:不考虑题目条件的话,我们只考虑在随意的一棵树上选择边,这是一个贪 ...
- node-fs(1) 无法从文件流内部读取到的字符串转化成json
先上一段代码 let fs=require('fs');//引入fs模块 let blob = fs.readFileSync('/node/product1/data.txt');//读取指定目录下 ...
- mysql-5.5.17-win64 安装方法
双击mysql-5.5.17-win64.msi,即开始安装,出现如下界面 2 点击next,出现如下界面,默认为Typical,改选为Custom,单击Next 3 选择MySQL Server后, ...
- windows 计算器
calc sin 弧度与角度
- leetcood学习笔记-204-计算质数
题目描述: 第一次提交;(超时): class Solution: def countPrimes(self, n: int) -> int: count = 0 for i in range( ...
- 使用Git 上传文件到云端(版本库)
第一步:本地初始化Git版本库 git init 第二步:链接码云(云端) git remote add orgin "你的远程仓库地址"(复制链接后结尾是.git,如果没有记得加 ...
- Delphi2007中正确调用SetWindowLong隐藏程序任务栏图标
http://terony.blog.sohu.com/71347192.html Delphi2007中正确调用SetWindowLong隐藏程序任务栏图标 标签: Delphi2007 SetW ...