重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
這期內容當中小編將會給大家帶來有關map排序怎么在java項目中使用,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
1.Map.Entry方法
把Map.Entry放進list,再用Comparator對list進行排序
List list = new ArrayList(map.entrySet()); Collections.sort(list, (Entry e1, Entry e2)-> { return e1.getKey().compareTo(e2.getKey()); });
實例代碼:
public class SortKeysMapTest { public static void main(String[] args) { Mapmap = new HashMap<>(); map.put("2010", "jay"); map.put("1999", "whx"); map.put("3010", "huaxiao"); List > list = new ArrayList<>(map.entrySet()); Collections.sort(list, (Map.Entry e1, Map.Entry e2)-> { return e1.getKey().toString().compareTo(e2.getKey().toString()); }); for (Map.Entry entry : list) { System.out.println("key:" + entry.getKey() + ",value:" + entry.getValue()); } } }
TreeMap默認是升序的,如果我們需要改變排序方式,則需要使用比較器:Comparator。Comparator可以對集合對象或者數組進行排序的比較器接口,實現該接口的public compare(T o1,To2)方法即可實現排序,如下:
import java.util.Comparator; import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.TreeMap; public class TreeMapTest { public static void main(String[] args) { Mapmap = new TreeMap ( new Comparator () { public int compare(String obj1, String obj2) { // 降序排序 return obj2.compareTo(obj1); } }); map.put("b", "ccccc"); map.put("d", "aaaaa"); map.put("c", "bbbbb"); map.put("a", "ddddd"); Set keySet = map.keySet(); Iterator iter = keySet.iterator(); while (iter.hasNext()) { String key = iter.next(); System.out.println(key + ":" + map.get(key)); } } }
運行結果如下:
d:aaaaa
c:bbbbb
b:ccccc
a:ddddd
實例擴展:
import java.util.Comparator; import java.util.Scanner; import java.util.TreeMap; import problem2.Screen; public class TestScreen { final static int MAX_NUM = 8; public static void main(String []args){ TreeMapres = new TreeMap (new Comparator () { @Override public int compare(Screen screen1, Screen t1) { // 定義TreeMap的排序方法 return screen1.compareTo(t1); // TreeMap的排序方法是:調用screen的比較方法 } }); double price, size; Scanner scan = new Scanner(System.in); for(int i=0;i 上述就是小編為大家分享的map排序怎么在java項目中使用了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創新互聯行業資訊頻道。
網頁標題:map排序怎么在java項目中使用-創新互聯
文章起源:http://www.xueling.net.cn/article/ceocdg.html