From 35eb9a6a14c2f757be72695057b99f742200ca85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E7=A5=A5?= <1366971433@qq.com> Date: Mon, 6 May 2019 17:50:13 +0800 Subject: [PATCH] modify --- README.md | 5 ++++- notes/Scala映射和元组.md | 34 +++++++++++++++++++++------------- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index c74db7c..69b83bc 100644 --- a/README.md +++ b/README.md @@ -141,4 +141,7 @@ TODO ## 十二、Scala 1. [Scala简介及开发环境配置](https://github.com/heibaiying/BigData-Notes/blob/master/notes/Scala简介及开发环境配置.md) -2. \ No newline at end of file +2. [基本数据类型和运算符](https://github.com/heibaiying/BigData-Notes/blob/master/notes/Scala基本数据类型和运算符.md) +3. [Scala数组](https://github.com/heibaiying/BigData-Notes/blob/master/notes/Scala数组相关操作.md) +4. [映射和元组](https://github.com/heibaiying/BigData-Notes/blob/master/notes/Scala映射和元组.md) +5. [Scala集合](https://github.com/heibaiying/BigData-Notes/blob/master/notes/Scala集合.md) \ No newline at end of file diff --git a/notes/Scala映射和元组.md b/notes/Scala映射和元组.md index ab90f30..1042070 100644 --- a/notes/Scala映射和元组.md +++ b/notes/Scala映射和元组.md @@ -1,31 +1,39 @@ # Scala映射和元组 + + ## 一、映射(Map) ### 1.1 构造映射 ```scala -scala> import scala.collection.immutable.HashMap -import scala.collection.immutable.HashMap - // 初始化一个空map -scala> val scores01 = new HashMap[String, Int] -scores01: scala.collection.immutable.HashMap[String,Int] = Map() +val scores01 = new HashMap[String, Int] // 从指定的值初始化映射(方式一) -scala> val scores02 = Map("hadoop" -> 10, "spark" -> 20, "storm" -> 30) -scores02: scala.collection.immutable.Map[String,Int] = Map(hadoop -> 10, spark -> 20, storm -> 30) +val scores02 = Map("hadoop" -> 10, "spark" -> 20, "storm" -> 30) // 从指定的值初始化映射(方式二) -scala> val scores03 = Map(("hadoop", 10), ("spark", 20), ("storm", 30)) -scores03: scala.collection.immutable.Map[String,Int] = Map(hadoop -> 10, spark -> 20, storm -> 30) +val scores03 = Map(("hadoop", 10), ("spark", 20), ("storm", 30)) ``` 采用上面方式得到的都是不可变(immutable)映射,想要得到可变映射,则用: ```scala -scala> val scores04 = scala.collection.mutable.Map("hadoop" -> 10, "spark" -> 20, "storm" -> 30) -scores04: scala.collection.mutable.Map[String,Int] = Map(spark -> 20, hadoop -> 10, storm -> 30) +val scores04 = scala.collection.mutable.Map("hadoop" -> 10, "spark" -> 20, "storm" -> 30) ``` ### 1.2 获取值 @@ -58,10 +66,10 @@ object ScalaApp extends App { // 2.如果key不存在则新增 scores("flink") = 40 - // 3.可以通过+=来进行多个更新或新增操作 + // 3.可以通过 += 来进行多个更新或新增操作 scores += ("spark" -> 200, "hive" -> 50) - // 4.可以通过-= 来移除某个键和值 + // 4.可以通过 -= 来移除某个键和值 scores -= "storm" for (elem <- scores) {println(elem)}