加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 09:49:06 所属栏目:安全 来源:网络整理
导读:将GenSeq用作“默认”集合类型是最佳做法吗?它似乎是最通用的集合界面.但是我没有看到它在代码示例中广泛使用(更具体的Seq用于代替). 解决方法 不应.应该出现在API中的最通用的集合类型是: Seq – 顺序收集 集 – 数学集(无重复值) Map – 关联/关联集(概
将GenSeq用作“默认”集合类型是最佳做法吗?它似乎是最通用的集合界面.但是我没有看到它在代码示例中广泛使用(更具体的Seq用于代替).

解决方法

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

> Seq – 顺序收集
>集 – 数学集(无重复值)
> Map – 关联/关联集(概念上与离散的PartialFunctions相同)

对上述区分中性的唯一抽象是可遍历和可迭代. (例如,Map [K,V]是可迭代的[(K,V)]和Traversable [(K,V)].

如果对于实际参数而言重要的是它的元素可能以某种(未指定的)顺序进行检查,那么Traversable将捕获该特征.

包含“Like”或“Once”或“Gen”的类或特征名称是内部魔法的一部分,使得Scala集合展现出“最少惊喜的原则”(其中主要是在其上调用HOF的属性,例如map或filter产生的结果与匹配的具体类型一样,就是调用HOF的集合的类型.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读