【问题标题】:Iterating immutable Seq, Vector and List: any differences?迭代不可变的 Seq、Vector 和 List:有什么区别吗?
【发布时间】:2013-02-27 08:01:26
【问题描述】:

Scala 提供了很多集合...我不确定该使用哪一个。

我的函数生成一个预定义数量的元素的集合,这些元素将按其原始顺序逐个迭代。

所有不可变的VectorSeqList 都支持迭代,但我应该使用哪一个?

【问题讨论】:

标签: scala


【解决方案1】:

您正在寻找保持秩序的收藏品。任何扩展 seq 的集合都保持添加元素的顺序。

[scaladocs] Sequences have two principal subtraits, IndexedSeq and LinearSeq, which give different guarantees for performance. An IndexedSeq provides fast random-access of elements and a fast length operation. A LinearSeq provides fast access only to the first element via head, but also has a fast tail operation

List 扩展LinearSeq,而Vector 扩展IndexedSeq

在这些之间进行选择将取决于您希望如何访问数据,以及您希望对数据执行的操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-24
    • 1970-01-01
    • 2011-10-27
    • 1970-01-01
    • 1970-01-01
    • 2017-11-27
    • 1970-01-01
    • 2012-06-07
    相关资源
    最近更新 更多