[英]Difference between NavigableSet, SortedSet and TreeSet in Java
TreeSet
將元素放在自然順序中或由提供的比較器放置。 SortedSet
還使元素保持自然順序 但是它們和NavigableSet?
區別NavigableSet?
NavigableSets
在哪里有用?
顯示其用法的一些示例對於初學者來說會很好。
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中不可用。
我希望您會從Java文檔中找到以下摘錄(請參閱更多詳細信息的鏈接):
方法較低 , 地板 , 天花板和較高的返回元素分別小於,小於或等於,大於或等於,並且大於給定元素。
我覺得this
是一個很好的參考,有很好的解釋。
NavigableSet添加了導航方法,如descendingIterator()和descendingSet(),ceiling(),floor(),higher(),lower(),headSet(),tailSet(),subSet(),pollFirst()和pollLast()。
TreeSet實現了NavigableSet,而(interface)NavigableSet擴展了SortedSet
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.