网站大量收购独家精品文档,联系QQ:2885784924

Spark大数据分析 课件 3.5 Scala基本数据结构.pptxVIP

Spark大数据分析 课件 3.5 Scala基本数据结构.pptx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

Scala基本数据结构

数组

01

数组

Scala提供了一种数据结构叫作数组,数组是一种存储了相同类型元素的固定大小顺序集合。数组用于存储数据集合,但将数组视为相同类型变量的集合通常更为有用。

可以声明一个数组变量,例如:numbers,使用numbers[0],numbers[1]和...,numbers[99]来表示单个变量,而不是分别地声明每个变量,例如

number0,number1,...等变量。本教程介绍如何使用索引变量声明数组变量,创建数组和使用数组。数组的第一个元素的索引是数字0,最后一个元素的索引是元素的总数减去1。

数组

1.数组的定义和使用

在scala中数组有两种:定长数组和变长数组。

定长数组:由于Array是不可变的,初始化就有了固定的长度,所以不能直接对其元素进行删除操作,也不能多增加元素,只能修改某个位置的元素值,要实现删除可以通过过滤生成新的数组。所以也就没有:add,insert,remove等操作。

变长数组:ArrayBuffer是可变的,本身提供了很多元素的操作,当然包括增加,

删除操作。

数组

2.数组的遍历

与Java一样,如果想要获取数组中的每一个元素,需要将数组进行遍历操作。数组的遍历分为for循环遍历、while循环遍历、do...while循环遍历。下面是用for循环对数组进行遍历。

元祖

元祖

1.元祖的创建

元组也是可以理解为一个容器,可以存放各种相同或不同类型的数据。说的简单点,就是将多个无关的数据封装为一个整体,称为元组。

与列表一样,元祖也是不可变的,但与列表不同的是元祖可以包含不同类型的元素,元祖的值是通过将不同的值包含在圆括号中构成的。

2.访问元祖中的元素

访问元祖的元素可以通过数字索引,我们可以使用t._1访问第一个元素,使用t._2访问第二个元素,依次类推。

3.元素交换

当元组中的元素为两个时,可以通过Tuple.swap方法进行元素交换,生成新的元祖。原先的元祖不会被改变。

集合

集合

(1)Scala的集合有三大类:序列Seq、集Set、映射Map,所有的集合都扩展自Iterable特质。

(2)对于几乎所有的集合类,Scala都同时提供了可变和不可变的版本,分别位于以下两个包:

不可变集合:scala.collection.immutable

可变集合:scala.collection.mutable

(3)Scala不可变集合,就是指该集合对象不可修改,每次修改就会返回一个新对象,而不会对原对象进行修改。类似于java中的String对象。

(4)可变集合,就是这个集合可以直接对原对象进行修改,而不会返回新的对象。类似于java中StringBuilder对象。

建议:在操作集合的时候,不可变用符号,可变用方法

元祖

1.List(列表)

Scala列表类似于数组,它们所有元素的类型都相同,但是它们也有所不同:列表是不可变的,值一旦被定义了就不能改变,其次列表具有递归的结构(也就是链接表结构)而数组不是。

2.Set(集合)

与其他任何一种编程语言一样,Scala中的Set集合类具有如下特点:

①不存在有重复的元素。

②集合中的元素是无序的。换句话说,不能以索引的方式访问集合中的元素。

③判断某一个元素在集合中比Seq类型的集合要快。

元祖

3.Map(映射)

Map(映射)是一种可迭代的键值对(key/value)结构。所有的值都可以通过键来获取。Map中的键都是唯一的。Map有两种类型,可变与不可变,区别在于可变对象可以修改它,而不可变对象不可以。默认情况下Scala使用不可变Map。如果你需要使用可变集合,你需要显式的引入importscala.collection.mutable.Map类。在Scala中你可以同时使用可变与不可变Map,不可变的直接使用Map,可变的使用

mutable.Map。

感谢大家的聆听

您可能关注的文档

文档评论(0)

乐毅淘文斋 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8121131046000040

1亿VIP精品文档

相关文档