Java中NavigableSet,SortedSet和TreeSet之间的区别

2022-09-02 01:13:16
  • A 将元素按自然顺序排列或由提供的比较器放置TreeSet
  • A也保持元素的自然顺序SortedSet

但是它们和
哪里有用有什么区别?NavigableSet?NavigableSets

一些示例来展示它的用法对初学者来说会很好。


答案 1

SortedSet是一个接口(它定义了功能),Treeset是一个实现。NavigableSet也是SortedSet的接口子类型。

你不能只是写SortedSet<Integer> example = new SortedSet<Integer>();

但是,您可以编写SortedSet<Integer> example = new TreeSet<Integer>();

顾名思义,NavigableSets对于浏览集合更有用。

http://mrbool.com/overview-on-navigableset-subtype-of-java-collections/25417 提供了一个关于NavigableSets的很好的教程,以及使用NavigableSets时可用的一些方法,这些方法在SortedSet中不可用。


答案 2

我希望您能从Java文档中找到以下摘录(请参阅指向更多详细信息的链接):

方法下限下限上限较高返回元素分别小于、小于或等于、大于或等于以及大于给定元素。


推荐