Scala基础教程--4 Map和Tuple
来源:互联网 发布:淘宝搜索的宝贝打不开 编辑:程序博客网 时间:2024/06/08 06:04
Map
构造Map
不可变:
val map = Map("sa" -> 1, "s" -> 2) map("sa") = 3 // error
val emptyMap = new scala.collection.immutable.HashMap[String, Int]
可变:
val map2 = scala.collection.mutable.Map("sa" -> 2) map2("sa") = 3
val emptyMap = new scala.collection.mutable.HashMap[String, Int]
注:->用来创建元组, "sa" -> 1即("sa", 1)
初始化完全可以 val map = Map(("sa", 1), ("s", 2))
获取Map中的值:
如果map中不包含请求中使用的key值,则抛异常。NoSuchElementException
map("sa") // 类似于java中的map.get("sa")
要检查map中是否包含某个key,使用contains方法。
val sa = if (map2.contains("sa3")) map2("sa3") else 0;
快捷的方式:
val sa2 = map.getOrElse("sa2", 0)
一次得到是否包含key,并获取值:
val sa3 = map.get("sa3"); // Option类型, println(sa3.isEmpty)
更新Map中的值:
添加或更新:
map("sa") = 3
添加或更新多个:
map += ("aa" -> 4, "bb" -> 5)
移除某个key和对应的值:
map -= "aa"
不可变的map也可以使用+和-操作,但是会生成新的map
var map = Map("aa" -> 1)
map = map + ("bb" -> 2)
map += ("cc" -> 2)
map -= "aa"
迭代map:
for ((k, v) <- map) {
// TODO
}
所有key:
map.keySet
所有值:
map.values
反转:
map2 = for((k, v) <- map) yield (v, k)
已排序Map:
按key排序:
SortedMap
按添加顺序:
LinkedHashMap
Map与Java互操作:
Java Properties转为scala.collection.Map:
import scala.collection.JavaConversions.propertiesAsScalaMap val prop: scala.collection.Map[String, String] = System.getProperties();
Java Map转为scala.collection.mutable.Map[String, Int]:
import scala.collection.JavaConversions.mapAsScalaMap val map: scala.collection.mutable.Map[String, Int] = new TreeMap[String, Int]
Scala Map转为Java Map:
import scala.collection.JavaConversions.mapAsJavaMap import java.awt.font.TextAttribute._ var fs = Map(FAMILY -> "Serif", SIZE -> 12) var fonts = new Font(fs)
元组Tuple:
不同类型值的集合
val tp = (1, "ss", 2.0)
访问数值:
tp._1
tp._2
tp._3
下标从1开始
通过模式匹配获取元组:
val (first, second, third) = set
可以用于函数返回多个值的时候
拉链操作
val arrkey = Array(1, 3, 5)val arrValue = Array("a", "b", "c")val tupleArr = arrkey.zip(arrValue) // tupleArr为Array((1,a), (3,b), (5,c))val map = tupleArr.toMap
- Scala基础教程--4 Map和Tuple
- Scala中的Map和Tuple
- scala Map 和 Tuple操作
- scala中的map和tuple
- scala学习之map和tuple
- Scala-LIST/Tuple/Map
- Scala : Map、Tuple、Zip
- Scala tuple与map
- Scala中最常用数据结构Map和Tuple
- Scala基础—Map和Tuple操作示例
- scala学习笔记(六)Map和Tuple
- 第8节:scala常用集合Map和Tuple
- Scala最常用数据结构Map和Tuple解析
- scala-03Tuple、Array、Map
- Scala入门之Map、Tuple
- Scala学习八:Map, Tuple
- Scala学习笔记--Array和List和Tuple和Set和Map
- Scala:Tuple、Array、Map与文件操作
- Android 获取手机的IMEI等设备信息
- android 常用网站
- OAuth2.0授权(获取用户信息)
- PCI总线数据输出板驱动程序的开发
- ElasticSearch 1.7安装
- Scala基础教程--4 Map和Tuple
- 查看oracle用户状态
- 高性能JavaScript模板引擎artTemplate介绍
- Java NIO原理图文分析及代码实现
- PCH was compiled with module cache......解决办法
- poj 3974 Manacher算法(判断最长回文子串)
- 数据处理
- 态度
- Memcache