程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 遍歷Map的兩種方法(有排序),map兩種方法

遍歷Map的兩種方法(有排序),map兩種方法

編輯:JAVA綜合教程

遍歷Map的兩種方法(有排序),map兩種方法


初始化一個map

1 2 3 4 5 Map<String, String> map = new HashMap<String, String>(); map.put("1""hell"); map.put("2""hello"); map.put("3""hel"); map.put("4""hello");

1、第一種方式,普遍使用

1 2 3 4 Set<String> keySet = map.keySet(); for (String key : keySet) {     System.out.println("key= " + key + " and value= " + map.get(key)); }

 2、第二種方式,容量大時推薦使用

1 2 3 4 5 Set<Map.Entry<String,String>> entySet =  map.entrySet(); for (Map.Entry<String, String> entry : entySet) {     System.out.println("key= " + entry.getKey() + " and value= "             + entry.getValue()); }

 實驗發現輸出的順序是亂的,排個序吧

1、按照key值排序

首先寫個排序類

1 2 3 4 5 6 7 private static class KeyComparator implements         Comparator<Map.Entry<String, String>> {     public int compare(Map.Entry<String, String> m,             Map.Entry<String, String> n) {         return m.getKey().compareTo(n.getKey());     } }

 把數據放在list裡邊才可以使用

1 2 3 4 5 6 7 8 9 List<Map.Entry<String, String>> list = new ArrayList<Map.Entry<String, String>>(); list.addAll(map.entrySet());   KeyComparator kc = new KeyComparator(); Collections.sort(list, kc); for (Iterator<Map.Entry<String, String>> it = list.iterator(); it         .hasNext();) {     System.out.println(it.next()); }

 2、按照Value值排序

1 2 3 4 5 6 7 private static class ValueComparator implements         Comparator<Map.Entry<String, String>> {     public int compare(Map.Entry<String, String> m,             Map.Entry<String, String> n) {         return m.getValue().compareTo(n.getValue());     } }

 排序輸出

1 2 3 4 5 6 7 8 list.clear(); list.addAll(map.entrySet()); ValueComparator vc = new ValueComparator(); Collections.sort(list, vc); for (Iterator<Map.Entry<String, String>> it = list.iterator();     it.hasNext();) {     System.out.println(it.next()); }

 

Tips: 如有錯誤請指出,我會及時修改

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved