Java treemap反向遍歷的實現(xiàn)

Java treemap反向遍歷的實現(xiàn)

長沙中公優(yōu)就業(yè)      2022-04-14 14:00:01     1

Java treemap反向遍歷的實現(xiàn),實現(xiàn)TreeMap的反向遍歷,雖然有很多方法,但是發(fā)現(xiàn)treeSet有個public IteratordescendingIterator()返回在此set元素上按降序進行

課程價格 請咨詢

上課時段: 授課校區(qū):

詳細介紹

實現(xiàn)TreeMap的反向遍歷,雖然有很多方法,但是發(fā)現(xiàn)treeSet有個

public IteratordescendingIterator()

返回在此set元素上按降序進行迭代的迭代器。

指定者:

接口NavigableSet中的descendingIterator

返回:

在此set元素上按降序進行迭代的迭代器

從以下版本開始:

1.6

而TreeMap的鍵就是一個TreeSet集合啊,所以就很好做了。但是我們用keySet()得到的是一個Set集合,descendingIterator()只能由TreeSet調(diào)用,所以就要把set轉(zhuǎn)換成TreeSet

以TreeMap為例(當然其他的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ù)。

培訓啦提醒您:交易時請核實對方資質(zhì),對于過大宣傳或承諾需謹慎!任何要求預(yù)付定金、匯款等方式均存在風險,謹防上當。