当前位置: 首页 > 知识库问答 >
问题:

SortedSet如何执行其排序约束?

茅曾琪
2023-03-14

实现SortedSet的Java类除了提供一些其他方法外,还应该提供一个迭代器,以升序迭代其元素。但我认为SortedSet接口规范无法强制执行它指定的这种行为约束。SortedSet只有几个方法,一个实现类可以实现这些方法,而实际上不必满足返回升序迭代器的要求,或者确实不需要有一个有效的比较器。

仅仅查看接口方法而不知道其名称,并不能告诉开发人员实现类应该实现的核心行为。

实现开发人员应该阅读Javadoc并遵循规范来正确实现吗?SortedSet不是应该确保实现类实际返回一个上升迭代器吗...否则这个接口有什么意义?

共有1个答案

曹普松
2023-03-14

接口通常充当契约或蓝图,实现将遵循这些契约或蓝图。SortedSet的目的实际上是为代码可以使用的排序集提供一个标准接口,同时允许切换实现(例如切换到更高性能的实现)。

所以答案是肯定的,实现必须符合正式记录合同的Javadocs。任何不遵循记录的行为的实现都被认为是有缺陷的。

 类似资料:
  • 需要确保你有代币 浏览器打开http://127.0.0.1:47778/run_app.html 链(Chain):填写合约所在的链 合约名字(APP Name):填写你要执行的合约,如你刚刚创建的合约,或者其他人已经创建好的合约 合约费用(Cost):如果合约有收费,根据收费填写,如果没有指定,填0,类似卖票系统中的票价 手续费(Energy):这是给矿工的手续费,建议不低于0.01t9,合约

  • SortedSet接口扩展Set并声明按升序排序的集合的行为。 除了由Set定义的那些方法之外,SortedSet接口还声明了下表中汇总的方法 - 当调用集中没有包含任何项时,有几种方法抛出NoSuchElementException。 当对象与集合中的元素不兼容时,抛出ClassCastException。 如果尝试使用null对象并且集合中不允许null,则抛出NullPointerExcep

  • 大家早上好, 希望这是一个非常简单的问题。 如何支持Spring启动执行器endpoint? 我可以看到大多数的@ReadOperation和@WriteOperation,但我看不到基本URL在哪里得到支持,也看不到什么技术支持创建http://localhost:8080/actuator'终点。 我的项目确实显示了JSON(我想那是什么?)当我导航到地址http://localhost:80

  • 问题内容: 我定义了一个MySQL表: 我在这里阅读到MySQL不支持带条件的。对于每个 customerId, 我们只有一个 primaryImage = 1 。 那么我还能采取什么措施来强制执行此约束? 问题答案: 完美支持独特的约束。 但是,它不支持部分约束/索引,因此您需要使用而不是标记非主图像。 您可以将任意数量的值插入到每个客户中,但只能插入一个非空值。

  • 我准备了和(Java分数计数)示例,以解决电源消费者和电源供应商的问题(电话和充电器,其中电压必须相等,消费者所需安培不得大于供应商提供的安培,每个供应商都有成本)。 Optaplanner为两个消费者和一个供应商的样本制作解决方案,这不是我想要的,因为一个供应商不能在一次对两个消费者操作,解决方案必须以至少-1的值结束。 我看了一下OptaPlanner:如何强制规划变量值只使用一次,但不明白如

  • 本文向大家介绍C# SortedSet,包括了C# SortedSet的使用技巧和注意事项,需要的朋友参考一下 示例