`

学习scala笔记--6 scala map、tuple

 
阅读更多

 

scala  map  tuple

 

 

 

默认是map 是不可变map immutable.Map

 

scala> val a= Map("a"-> 1 ,"b"->2)

a: scala.collection.immutable.Map[String,Int] = Map(a -> 1, b -> 2)

 

 

 

----------------------------------

 

可以指定创建  可变map

 

scala> val b = scala.collection.mutable.Map("c"->3,"d"->4)

b: scala.collection.mutable.Map[String,Int] = Map(d -> 4, c -> 3)

 

 

----------------------------------

 

map的合并

 

scala> val b = scala.collection.mutable.Map("c"->3,"d"->4)

b: scala.collection.mutable.Map[String,Int] = Map(d -> 4, c -> 3)

 

scala> 

 

scala> val c  = scala.collection.mutable.Map("e"->3,"f"->4)

c: scala.collection.mutable.Map[String,Int] = Map(e -> 3, f -> 4)

 

scala> b ++= c

res0: b.type = Map(e -> 3, d -> 4, c -> 3, f -> 4)

 

----------------------------------

 

 

通过元组创建:

 

scala> val g = Map(("a",1),("b",2),("c",3))

g: scala.collection.immutable.Map[String,Int] = Map(a -> 1, b -> 2, c -> 3)

 

 

----------------------------------

 

获取 值

 

scala> val x = g("a")

x: Int = 1

 

----------------------------------

 

判断是否存在key

 

scala> g.contains("a")

res2: Boolean = true

 

----------------------------------

 

scala> g.getOrElse("d",0)

res3: Int = 0

 

 

 

----------------------------------

 

遍历  

 

scala> for((k,v)<-g) println(k+"->"+v)

a->1

b->2

c->3

 

 

遍历key

 

scala> for(k <- g.keySet) println(k)

a

b

c

 

遍历 value

 

scala> for(v <- g.values) println(v)

1

2

3

 

----------------------------------

 

SortedMap 自动安装key排序

 

scala> val sm = scala.collection.immutable.Map("d"->1,"a"->2,"e"->3)

sm: scala.collection.immutable.Map[String,Int] = Map(d -> 1, a -> 2, e -> 3)

 

scala> val sm = scala.collection.immutable.SortedMap("d"->1,"a"->2,"e"->3)

sm: scala.collection.immutable.SortedMap[String,Int] = Map(a -> 2, d -> 1, e -> 3)

 

----------------------------------

 

自动维护插入顺序的 LinkedHashMap

 

scala> val h = scala.collection.mutable.LinkedHashMap[String,Int]()

h: scala.collection.mutable.LinkedHashMap[String,Int] = Map()

 

scala> h +=("x"->1)

res14: h.type = Map(x -> 1)

 

scala> h +=("y"->2)

res15: h.type = Map(x -> 1, y -> 2)

 

scala> h +=("z"->3)

res16: h.type = Map(x -> 1, y -> 2, z -> 3)

 

----------------------------------

 

 

tuple  元组

 

 

scala> var t = ("name","tom")

t: (String, String) = (name,tom)

 

scala> var t2 = ("name","tom","age")

t2: (String, String, String) = (name,tom,age)

 

 

----------------------------------

 

 

zip操作

 

scala> val a = Array("a","b","c")

a: Array[String] = Array(a, b, c)

 

scala> val b = Array("1","2","3")

b: Array[String] = Array(1, 2, 3)

 

scala> var t = a.zip(b)

t: Array[(String, String)] = Array((a,1), (b,2), (c,3))

 

 

----------------------------------

 

访问 tuple 元素  t._1

 

scala> var t = ("name","tom")

t: (String, String) = (name,tom)

 

scala> t._1

res20: String = name

 

scala> t._2

res21: String = tom

 

 

----------------------------------

分享到:
评论

相关推荐

    scala-parser-combinators-2.11-1.0.4-API文档-中文版.zip

    赠送jar包:scala-parser-combinators_2.11-1.0.4.jar; 赠送原API文档:scala-parser-combinators_2.11-1.0.4-javadoc.jar; 赠送源代码:scala-parser-combinators_2.11-1.0.4-sources.jar; 赠送Maven依赖信息...

    scala-parser-combinators_2.12-1.1.0-API文档-中英对照版.zip

    赠送jar包:scala-parser-combinators_2.12-1.1.0.jar; 赠送原API文档:scala-parser-combinators_2.12-1.1.0-javadoc.jar; 赠送源代码:scala-parser-combinators_2.12-1.1.0-sources.jar; 赠送Maven依赖信息...

    scala-compiler-2.11.8-API文档-中英对照版.zip

    赠送jar包:scala-compiler-2.11.8.jar; 赠送原API文档:scala-compiler-2.11.8-javadoc.jar; 赠送源代码:scala-compiler-2.11.8-sources.jar; 赠送Maven依赖信息文件:scala-compiler-2.11.8.pom; 包含翻译后...

    scala-intellij-bin-2016.3.9

    "scala-intellij-bin-2016.3.9"是针对Scala语言的一个特定版本的IntelliJ IDEA插件,该版本为2016.3.9。这个插件是专门为Scala开发者设计的,旨在提高他们在IntelliJ IDEA中的开发体验。 Scala是一种多范式编程语言...

    scala-parser-combinators_2.11-1.0.4-API文档-中英对照版.zip

    赠送jar包:scala-parser-combinators_2.11-1.0.4.jar; 赠送原API文档:scala-parser-combinators_2.11-1.0.4-javadoc.jar; 赠送源代码:scala-parser-combinators_2.11-1.0.4-sources.jar; 包含翻译后的API...

    scala-java8-compat_2.11-0.7.0-API文档-中英对照版.zip

    赠送jar包:scala-java8-compat_2.11-0.7.0.jar; 赠送原API文档:scala-java8-compat_2.11-0.7.0-javadoc.jar; 赠送源代码:scala-java8-compat_2.11-0.7.0-sources.jar; 赠送Maven依赖信息文件:scala-java8-...

    scala-intellij-bin-2021.3.6.zip

    "scala-intellij-bin-2021.3.6.zip"是一个压缩包,包含了用于在IntelliJ IDEA中支持Scala开发的特定版本插件。 这个版本的Scala插件(2021.3.6)是为IntelliJ IDEA 2021.3系列构建的,它提供了丰富的功能,以帮助...

    scala-intellij-bin-2017.2.6

    "scala-intellij-bin-2017.2.6" 是一个特定版本的Scala插件,适用于IntelliJ IDEA,它提供了对Scala语言的全面支持,包括语法高亮、代码补全、错误检查以及调试功能。 这个插件的版本号"2017.2.6"表明它是2017年第...

    scala-compiler-2.11.12-API文档-中文版.zip

    赠送jar包:scala-compiler-2.11.12.jar; 赠送原API文档:scala-compiler-2.11.12-javadoc.jar; 赠送源代码:scala-compiler-2.11.12-sources.jar; 赠送Maven依赖信息文件:scala-compiler-2.11.12.pom; 包含...

    scala-intellij-bin-2018.3.2.zip

    scala-intellij-bin-2018.3.2.zip插件,亲测可用!!!scala-intellij-bin-2018.3.2.zip插件,亲测可用!!!scala-intellij-bin-2018.3.2.zip插件,亲测可用!!!

    scala插件 scala-intellij-bin-2018.3.5.zip scala-intellij-bin-2018.3.6.zip

    `scala-intellij-bin-2018.3.5.zip` 和 `scala-intellij-bin-2018.3.6.zip` 是两个版本的Scala插件,分别适用于IntelliJ IDEA的2018.3.5和2018.3.6版本。这些插件是为了增强IDE对Scala语言的支持,提供代码高亮、...

    scala-java8-compat_2.11-0.7.0-API文档-中文版.zip

    赠送jar包:scala-java8-compat_2.11-0.7.0.jar; 赠送原API文档:scala-java8-compat_2.11-0.7.0-javadoc.jar; 赠送源代码:scala-java8-compat_2.11-0.7.0-sources.jar; 赠送Maven依赖信息文件:scala-java8-...

    scala-intellij-bin-2023.1.15.zip

    "scala-intellij-bin-2023.1.15.zip" 是一个包含IntelliJ IDEA针对Scala开发的特定版本的二进制发行包。 这个压缩包很可能包含了以下内容: 1. **IntelliJ IDEA安装程序**:这是主应用程序,允许用户在本地计算机...

    scala-intellij-bin-0.41

    "scala-intellij-bin-0.41"是专门为IntelliJ IDEA设计的一个Scala插件,版本号为0.41,用于增强IDE对Scala语言的支持。 这个插件的安装和使用对于Scala开发者至关重要,因为它可以提供以下关键功能: 1. 语法高亮...

    scala-intellij-bin-2020.2.3.zip

    "scala-intellij-bin-2020.2.3.zip" 是一个包含IntelliJ IDEA的Scala插件的压缩包,特别针对Scala开发进行了优化。 该插件允许开发者在IntelliJ IDEA中高效地编写和调试Scala代码。以下是关于Scala和IntelliJ IDEA ...

    scala-ide-plugin-eclipse

    scala eclipse插件.对应scala版本:2.10--2.11,对应eclipes版本:4.4--...update site:http://download.scala-ide.org/sdk/lithium/e44/scala211/stable/site 下载地址:http://scala-ide.org/download/current.html

    scala-SDK-4.7.0-vfinal-2.12-linux.gtk.x86_64.tar.gz

    scala-SDK-4.7.0-vfinal-2.12-linux.gtk.x86_64.tar.gz scala-SDK-4.7.0-vfinal-2.12-linux.gtk.x86_64.tar.gz

    scala-intellij-bin-2021.1.22.zip

    "scala-intellij-bin-2021.1.22.zip" 是一个包含IntelliJ IDEA的Scala插件的压缩包,版本号为2021.1.22,适用于IntelliJ IDEA的2021.1版本。 Scala插件是IntelliJ IDEA为了提升Scala开发体验而设计的,它提供了丰富...

    scala-library-2.11.8-API文档-中文版.zip

    赠送jar包:scala-library-2.11.8.jar; 赠送原API文档:scala-library-2.11.8-javadoc.jar; 赠送源代码:scala-library-2.11.8-sources.jar; 赠送Maven依赖信息文件:scala-library-2.11.8.pom; 包含翻译后的API...

    scala-intellij-bin-2019.2.20.zip

    "scala-intellij-bin-2019.2.20.zip"是IntelliJ IDEA的一个特定版本,其中包含了用于支持Scala编程的插件。这个版本是2019年2月发布的,可能包含了一些新特性、性能优化和已知问题的修复。由于官方下载速度可能较慢...

Global site tag (gtag.js) - Google Analytics