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

为什么scala的`GenTraversableOnce`没有声明`map`?

发布时间:2020-12-16 08:46:20 所属栏目:安全 来源:网络整理
导读:GenTraversableOnce 不会将map声明为(抽象)成员,但它的直接子节点 GenTraversable 和 TraversableOnce 都是如此(尽管后者使用隐式转换).为什么? 如果我需要一个实现map的集合,我应该声明它是什么类型的? This question是完全不同的,因为它要求在Scala中实
GenTraversableOnce不会将map声明为(抽象)成员,但它的直接子节点 GenTraversableTraversableOnce都是如此(尽管后者使用隐式转换).为什么?

如果我需要一个实现map的集合,我应该声明它是什么类型的?

This question是完全不同的,因为它要求在Scala中实现仿函数的方法,而我正在询问Scala集合框架的细节.

编辑
它与您可以遍历GenTraversableOnce的次数无关,因为TraversableOnce对可能的遍历数量做出相同的承诺(即两者都承诺至少一次遍历).

解决方法

我不记得在任何地方看过这个,但这里是我对它的直觉(没有任何参考/引用所以带着一点点盐).

正如GenTraversableOnce的名称所暗示的那样,这种特性只能保证对遍历内容的一次迭代.

地图操作在某种程度上暗示了链接变换的可能性(例如foo.map(f).map(g)),这意味着多次遍历.

(编辑:李大同)

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

    推荐文章
      热点阅读