更新時間:2020-08-11 17:06:10 來源:動力節(jié)點 瀏覽4081次
實現(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?{
?
/**
?*?Wang?Yanming
?*/
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按任意順序排列
以上就是動力節(jié)點java培訓(xùn)機構(gòu)的小編針對“Java treemap反向遍歷的實現(xiàn)”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743