永发信息网

Scala中的Seq和List之间的区别

答案:1  悬赏:10  手机版
解决时间 2021-04-07 11:15
Scala中的Seq和List之间的区别
最佳答案
Scala的Seq将是Java的List,Scala的List将是Java的LinkedList。
请注意,Seq是一个trait,它相当于Java的接口,但相当于即将到来的防御者方法。 Scala的List是一个抽象类,由Nil和::扩展,这是List的具体实现。
所以,在Java的List是一个接口,Scala的List是一个实现。
除此之外,Scala的List是不可变的,这不是LinkedList的情况。事实上,Java没有等价的不可变集合(只读的东西只保证新的对象不能改变,但你仍然可以改变旧的,因此,“只读”一个)。
Scala的List是由编译器和库高度优化的,它是函数式编程中的基本数据类型。然而,它有限制,它不足以并行编程。这些天,Vector是一个比List更好的选择,但习惯是很难打破。
Seq是一个很好的泛化序列,所以如果你编程到接口,你应该使用它。注意,实际上有三个:collection.Seq,collection.mutable.Seq和collection.immutable.Seq,它是后一个是“默认”导入到范围。
还有GenSeq和ParSeq。后面的方法在可能的情况下并行运行,前者是Seq和ParSeq的父代,这是当代码的并行性无关紧要的合适的泛化。它们都是相对新引入的,因此人们不会使用它们。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我看最近南京华佑装饰很火,他们家服务态度好
苏浙汇简要介绍
会计比较好牙科
嘉禾美容养生会所地址在什么地方,想过去办事
想谢佛家师兄该如何说
柳俊烈承认与李惠利恋情是怎么回事?
宰鸭子掏膛注意什么
英语中有很多带有“颜色”的短语。把下列短语
1987年,台湾当局调整“ ”政策,开放台
东方优播寒假初二物理多少钱一科
菊花农家院在哪里啊,我有事要去这个地方
u=x y z,v=xyz,∂(u yzv)/∂
领居家有只猫经常跑我家,把家里的墙面都抓坏
沈阳大东区的国际幼儿园哪家好?
我想学卤菜哪里可以学到正宗的卤菜&学卤菜多
推荐资讯
不用wifi就能玩的好玩的游戏
某电信局现有600部都已申请装机的固定电话尚
杭州压力表总厂东北办事处在什么地方啊,我要
请问哪位高手知道 迪美手机 cpu芯片是RDA8853
3吨液压搬运车一般是多重(自重)
如何看待内地导演作品评分出炉,张艺谋冯小刚
洪卓立,谭咏麟,李克勤,张敬轩,古巨基谁的
梦见在井里打水
36分vvs钻戒多少钱
战舰少女r 罗德尼技能 必定命中吗
阿文美驰上海天窗厂卖给谁了?
怎样查寻2017高三学生结业考试成绩。辽宁省朝
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?