實現(xiàn)TreeMap
public IteratordescendingIterator()
返回在此set元素上按降序進行迭代的迭代器。
指定者:
接口NavigableSet
返回:
在此set元素上按降序進行迭代的迭代器
從以下版本開始:
1.6
而TreeMap的鍵就是一個TreeSet集合啊,所以就很好做了。但是我們用keySet()得到的是一個Set集合,descendingIterator()只能由TreeSet調(diào)用,所以就要把set轉(zhuǎn)換成TreeSet
以TreeMap
import?java.util.Iterator;import?java.util.Set;import?java.util.TreeMap;import?java.util.TreeSet;?public?class?SetAndTreeSet?{? public?static?void?main(String[]?args)?{ TreeMap?tm?=?new?TreeMap(); tm.put(1,"中國"); tm.put(2,"首都"); tm.put(3,"北京"); //如何將這三個排序?qū)崿F(xiàn)輸出北京、首都、中國?? Set?set?=??tm.keySet(); //我們知道Integer是final類不允許取繼承和重寫其中方法。 //而?tm.keySet()得到的是Integer類型的集合set,從小到大遍歷如: Iterator?it?=?set.iterator(); //while(it.hasNext()) //{ // System.out.println(tm.get(it.next()));//輸出的順序是中國??首都??北京 //} //如何進行反向輸出呢?TreeeSet提供了一個descendingIterator()得到降序迭代器 //但是只有TreeSet可以調(diào)用,就需要將Set轉(zhuǎn)化成treeSet了 TreeSet??ts?=?new?TreeSet(); while(it.hasNext()) { ts.add(it.next()); } Iterator?it2?=?ts.descendingIterator(); while(it2.hasNext()) { System.out.println(tm.get(it2.next()));//輸出順序北京?首都?中國 } }}
代碼講的很細了。不明白或那位大牛有更好的辦法一起討論吧
這是對于TreeMap而言,但是要是List就好辦了,可以利用ListIterator按任意順序排列
以上就是長沙中公優(yōu)就業(yè)java培訓機構(gòu)的小編針對“Java treemap反向遍歷的實現(xiàn)”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。