为了账号安全,请及时绑定邮箱和手机立即绑定

scala-基本数据结构

标签:
大数据

1. 数组


任何对于对象的值参数应用都将被转换为对apply方法的调用。与之相似的是,当对带有括号并包括一到若干参数的变量赋值时,编译器将对括号里的参数(索引值)和等号右边的对象执行调用。

以数组为例:

val greetString = new Array[String](3)
greetString(0) = "Hello"greetString(1) = ","greetString(0) = "world!\n"for (i <- 0 to 2)
    print(greetString(i))

上段代码的实际调用为:

val greetString = new Array[String](3)
greetString.update(0, "Hello")
greetString.update(1, ", ")
greetString.update(2, "world!/n")for (i <- 0.to(2))
    print(greetString.apply(i))

用于生产环境的赋值方法为:

val numNames = Array("zero", "one", "two")val o = Array(1, "one")

2. 列表


val oneTwoThree = List(1, 2, 3)

2.1 两个方法:

  • :::
    实现两个列表叠加并返回新列表的功能,要求左右操作数都是列表

  • ::
    把新元素组合到现有列表前端。

注意:方法名以:结尾,右操作数是方法的调用者。所以使用::时一定要把列表放到右面。

Nil是空列表的简写,一个建立列表的写法如下:

val oneTwoThree = 1 :: 2 :: 3 :: Nil

List没有提供append操作是因为随着列表边长,append的耗时将线性增长,而用::做前缀操作则仅耗用固定时间。

3. 元组


val pair = (99, "str")

需要说明的是,元组的索引基于1。

3.1 元组与列表的异同:

  • 元组可以包含不同类型的元素,而列表不可(我试了试貌似可以?求解答)

  • 两者元素都不可变

4. 集(set)和映射(map)


scala里的集合(collection)分为可变和不可变两种类型,没有特别指定导入包时,默认为不可变类型。可变集合将元素加入自身,不可变集合则创建并返回新集合。故,在定义集合时要注意val, var的选择。

5. 其他


数组元素可变。列表、元组元素不可变。



作者:神奇的腿
链接:https://www.jianshu.com/p/0c2f0ba96853


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
数据库工程师
手记
粉丝
42
获赞与收藏
203

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消