gpt4 book ai didi

scala - 我应该默认使用 GenSeq 吗?

转载 作者:行者123 更新时间:2023-12-04 13:41:07 24 4
gpt4 key购买 nike

将 GenSeq 用作“默认”集合类型是否是最佳实践?它似乎是最通用的集合接口(interface)。但是我没有看到它在代码示例中被广泛使用(而是使用更具体的 Seq)。

最佳答案

不,应该出现在 API 中的最通用的集合类型是:

  • Seq — 顺序收集
  • Set — 数学集(无重复值)
  • Map — 关联/关联集(概念上与离散的 PartialFunction 相同)

  • 唯一与上述区别无关的抽象是 Traversable。和 Iterable . (例如 Map[K, V]Iterable[(K, V)]Traversable[(K, V)]

    如果对一个实际参数来说重要的是它的元素可以按某种(未指定的)顺序检查,那么 Traversable捕获了这个特点。

    包含“Like”、“Once”或“Gen”的类或特征名称是使 Scala 集合表现出“最小意外原则”的内部魔法的一部分(其中最主要的是在它们上调用 HOF 的属性,例如 mapfilter 产生的结果与调用该 HOF 的集合的具体类型相匹配)。

    关于scala - 我应该默认使用 GenSeq 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14550388/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com