Scala中的Seq和List之间的区别

Scala中的Seq和List之间的区别,第1张

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的父代,这是当代码的并行性无关紧要的合适的泛化。它们都是相对新引入的,因此人们不会使用它们。

内容提要:本文描述了使用核缺XMOMDEM文件传输协议的通信程序改亏辩设计,该设计为具有FLASH 存储器的嵌入式系统提供了和PC机上超级终端软件之间的文件传输功能,在PC机上不安装专用通信软件情况下,实现程序在板升级、数据在板定制等,给现场调试和维护带来方便。另外,本文也描述了基于状态矩阵的通信软件空裤编程方法。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8199899.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存