TreeSet
将元素放入自然排序或提供的元素
比较 SortedSet
也会将元素保留在自然顺序 但他们和NavigableSet?
之间有什么区别
NavigableSets
在哪里有用?
显示其用法的一些示例对初学者来说很不错。
答案 0 :(得分:20)
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教程和一些使用的方法,这些方法在SortedSet中不可用。
答案 1 :(得分:3)
我希望你能从以下Java docs的摘录中找到有用的内容(参见更多细节链接):
方法降低,发言权,上限,更高 返回元素分别小于,小于或等于,大于 大于或等于,大于给定的元素。
答案 2 :(得分:2)
我认为this
是一个很好的参考,并且有不错的解释。
答案 3 :(得分:1)
NavigableSet添加了导航方法,如descendingIterator()和descendingSet(),ceiling(),floor(),higher(),lower(),headSet(),tailSet(),subSet(),pollFirst()和pollLast( )。
答案 4 :(得分:1)
TreeSet实现了NavigableSet,而(interface)NavigableSet扩展了SortedSet