什么时候Scala中的Set少于另一个?
发布时间:2020-12-16 18:14:00 所属栏目:安全 来源:网络整理
导读:我想比较 Scala中两组的基数.由于 Scala中的某些东西有时“正常工作”,我尝试使用集合之间.它似乎经历了,但我无法理解结果. 例: scala Set(1,2,3) Set(1,4)res20: Boolean = true 它返回什么? 我在哪里可以阅读API中的此方法? 为什么不在scala.collection
我想比较
Scala中两组的基数.由于
Scala中的某些东西有时“正常工作”,我尝试使用<集合之间.它似乎经历了,但我无法理解结果. 例:
scala> Set(1,2,3) < Set(1,4) res20: Boolean = true >它返回什么? 更新:即使集合中元素的顺序(??)似乎也很重要: scala> Set(2,3,1) < Set(1,3) res24: Boolean = false scala> Set(1,3) res25: Boolean = true 解决方法
这不适用于2.8.在Scala 2.7上,会发生什么:
scala.Predef.iterable2ordered(Set(1,3): Iterable[Int]) < (Set(1,2): Iterable[Int]) 换句话说,在scala.Predef上定义了一个隐式转换,它是为所有Scala代码“导入”的,从Iterable [A]到Ordered [Iterable [A]],前提是有一个隐含的A =>订购[A]可用. 鉴于集合的可迭代顺序未定义,您无法真正预测它.例如,如果添加元素以使设置大小大于4,则会得到完全不同的结果. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |