簡體   English   中英

Java中的NavigableSet,SortedSet和TreeSet之間的區別

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM