首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Scala基础——Map(映射)

Map Scala映射(Map)是一组键/值对的对象。键在映射中是唯一的,但值不一定是唯一的。映射也称为哈希表。映射有两种,不可变的和可变的。默认情况下,Scala使用不可变映射(Map)。...如果要使用可变集合(Map),则需要明确导入scala.collection.mutable.Map类 val map = Map("name" -> "xiaoming","age" ->20) println...(map("name")) 声明空的映射是,不能省略类型说明,向映射(Map)添加一个键值对,可以使用运算符+ var m :Map[String,Int]= Map() m +=...1) 判断map中是否包含某个值,可以使用contains方法 if(map.contains("age")){ println(map("age")) } 如果需要创建可变映射...,需要引入scala.collection.mutable.Map包,否则value update is not a member of scala.collection.immutable.Map[String

39530
您找到你想要的搜索结果了吗?
是的
没有找到

scala快速入门系列【映射

本篇作为scala快速入门系列的第十五篇博客,为大家带来的是关于映射的相关内容。 ? 映射 Map可以称之为映射。它是由键值对组成的集合。...在scala中,Map也分为不可变Map和可变Map。 ---- 不可变Map 定义语法 ? 示例 定义一个映射,包含以下学生姓名和年龄数据 ?...---- 可变Map 定义语法与不可变Map一致 可变Map需要手动导入 import scala.collection.mutable.Map 示例 定义一个映射,包含以下学生姓名和年龄数据...map(key) ) 获取所有key( map.keys ) 获取所有value( map.values ) 遍历map集合 getOrElse 增加key,value对 删除key 示例 1.定义一个映射...获取所有的学生姓名 4.获取所有的学生年龄 5.打印所有的学生姓名和年龄 6.获取wangwu的年龄,如果wangwu不存在,则返回-1 7.新增一个学生:wangwu, 35 8.将lisi从可变映射中移除

36920

spark开发基础之从Scala符号入门Scala

当我们学习spark的时候,我们知道spark是使用Scala语言开发的,由于语言是相通的,所以对于传统程序员【Java,.net,c等】,我们能看懂Scala程序是没有问题的。...看来如果想顺利的学习,我们必须学一下Scala了。很多都是从变量定义,函数,类等入门。由于我们可能有些其他语言基础,这里我们从Scala符号入门。一文能帮助大家阅读比较常见的Scala程序。...for (i <- 0.to(2)) 第二个符号-> 这个符号用于什么地方,比如map映射 Map(映射)是一种可迭代的键值对(key/value)结构。...#F0FFFF, #CD853F) 检测 colors 是否为空 : false 检测 nums 是否为空 : true map映射与map函数的区别 同时有一个小小的不同: 如果刚接触map函数会让我们特别的困惑和难懂...单从函数的定义,我们就能看出Scala打破了传统的函数定义,除了函数定义,其它还有很多地方,都反映了Scala思想,没有以前Java,c等那么严格。

2.4K100

Python和Scala的集合和映射

在入门系列的最后,让我们来看看基于hash表的两种常见的数据结构,集合和映射。在Scala里的集合和映射,这两种数据结构都有可变和不可变的两种版本,区别仅仅在于类的继承关系。...scala> import scala.collection.mutable import scala.collection.mutable scala> val set1 = mutable.Set...4.判断某个元素是否存在 Scala scala> set0.contains(1) res7: Boolean = true Python 1 in set0 Out[20]: True 映射 Map...这个实际上有很多的别名,在Scala里称为映射,而在Python则被称为字典,本质都是一样的基于Hash表的数据结构,能够快速的查找某个值。...的Map使用->作为分隔符,而Python使用了:(八卦下:这个符号通过Python,影响了js,进而成为了json的分隔符),Scala的默认版本是不可变的映射,而不是可变的映射,这也是Scala设计者对于函数式的不可变的推崇的体现吧

58720

Spark基础-scala学习(三、Trait)

("Tom") p: Person = Person@41eb94bc scala> p.makeFriend(p) Hello,my name is Tom,your name is Tom scala...就想trait的功能混入了类 举例来说,trait中可以包含一些很多类都通用的功能方法,比如打印日志等等,spark中就使用了trait来定义了通用的日志打印方法 scala> :paste // Entering...scala> s.sayHello Hi,I'm Tom,I have 2 eyes 在Trait中定义抽象字段 scala中的Trait可以定义抽象field,而trait中的具体方法则可以基于抽象...scala> p.msg res4: String = hello scala> p.makeFriends(p) hello,Tom I'm Tom,I want to make friends...trait调用链 scala中支持多个trait,一次调用多个trait中的同一个方法,只要让多个trait的同一个方法中,在最后都执行super.方法即可 scala> :paste // Entering

42220

IDEA开发Spark应用实战(Scala)

https://blog.csdn.net/boling_cavalry/article/details/87510822 Scala语言在函数式编程方面的优势适合Spark应用开发,IDEA...是我们常用的IDE工具,今天就来实战IDEA开发Scala版的Spark应用; 版本信息 以下是开发环境: 操作系统:win10; JDK:1.8.0_191; IntelliJ IDEA:2018.2.4...(Ultimate Edition) 以下是运行环境: Spark:2.3.3; Scala:2.11.12; Hadoop:2.7.7; 如果您想在几分钟之内搭建好Spark集群环境,请参考《docker...将下载好的文件解压,例如我这里解压后所在目录是:C:\software\spark-2.3.3-bin-hadoop2.7 IDEA安装scala插件 打开IDEA,选择"Configure"->“Plugins...{SparkConf, SparkContext} /** * @Description: 第一个scala语言的spark应用 * @author: willzhao E-mail: zq2599

1.4K30

Spark基础-scala学习(二、面向对象)

scala> s.updateName("leo1") scala> s.name res33: String = your name is leo1 private[this]的使用 scala>...// 使用scala.beans.BeanProperty代替 scala> import scala.beans.BeanProperty import scala.beans.BeanProperty...") scala> s.get getClass getName scala> s.getName res39: String = leo 辅助构造函数constructor scala> :paste...} 运行上述代码,需要放入.scala文件中,然后使用scalac编译,再用scala运行class文件 scala -Dscala.time HelloWorld App Trait的工作原理为:App...在实际开发中,比如spark的源码中,大量的地方使用模式匹配的方式来进行类型的判断 功能性上来说,与isInstanceOf一样,判断主要是该类以及该类的子类的对象即可,不是精准判断的 scala>

64530

Scala语言开发Spark应用程序

Scala语言开发Spark应用程序 本来这篇文章早就应该写了,拖到现在都有点不好意思了,今天就简单写点 算抛砖吧 ,砸不砸到人 ,请各位看官自行躲避。闲话少说步入正题。...Spark内核是由Scala语言开发的,因此使用Scala语言开发Spark应用程序是自然而然的事情。如果你对Scala语言还不太熟悉,没关系,大家一起学习,反正我也不会。...我会在后续的文章中继续介绍scala. 本章的重点是如何利用scala实现spark,先简单说说spark吧, 上图就清晰多了。 介绍我也就不多说了 。...我为什么要用scala,而不用java实现呢,你只需要记住两点 ,1.FP泛型支持,2类型系统支持。...本篇我简单介绍scala spark 编程WordCount, Flume与spark 的结合; 1.

1.3K60
领券