更新時間:2020-08-11 17:06:10 來源:動力節點 瀏覽4048次
實現TreeMap
public IteratordescendingIterator()
返回在此set元素上按降序進行迭代的迭代器。
指定者:
接口NavigableSet
返回:
在此set元素上按降序進行迭代的迭代器
從以下版本開始:
1.6
而TreeMap的鍵就是一個TreeSet集合啊,所以就很好做了。但是我們用keySet()得到的是一個Set集合,descendingIterator()只能由TreeSet調用,所以就要把set轉換成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,"北京");
//如何將這三個排序實現輸出北京、首都、中國??
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可以調用,就需要將Set轉化成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按任意順序排列
以上就是動力節點java培訓機構的小編針對“Java treemap反向遍歷的實現”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習