为什么Navigableset Javadoc指出有关实施详细信息的说明



为什么 navigableset javadoc说明性能指标,如果仅是接口?

从理论上讲,界面不知道有关其实现的详细信息,Navigableset接口如何描述:

"上升操作和视图的性能可能比下降的速度更快。"

这里有一个类似的帖子,但是 concurrentskiplistetet 是一个实现类。

没有"真实"在Java中执行此类行为的方法,因此该文档用于从性能角度描述界面的预期行为。

这对于两个方面很重要。

首先,作为此接口的用户(或任何实现其实现的类(,您应该意识到此性能考虑,并相应地编写代码。例如,在您引用的段落中,指出"上升操作和视图的性能可能比下降的速度更快"。这意味着,如果您想在NavigableSet上迭代,则可能应该从头到尾迭代而不是相反(即使两者都可以工作!(。

第二,作为该接口的实施者,您应该意识到这是期望,并且该界面的用户可能已经编写了他们的代码来考虑此行为(如上一段中所述(。这意味着,例如,您可以实现NavigatableSet,其中下降操作的性能比其上升的表现更好,但是您可能不应该 - 只是用户期望此类工作的方式不是。

相关内容

最新更新