1 按照Key排序:
Java類庫中存在相應的實現,如:TreeMap 不必多說,由於TeeMap在修改和刪除之後需要重新排序,要消耗一些性能。當然可以考慮,先使用HashMap進行進行創建和修改操作,如果需要排序,再調用 new TreeMap(hashMap) 來根據Key進行排序
2 按照Value排序:
Java類庫中沒有相應的實現,可自己實現如下:
Map<String, Integer> _map = new HashMap<String, Integer>() ;
_map.put("北京", 50);
_map.put("河南", 10);
_map.put("海南", 20);
_map.put("天津", 30);
_map.put("河北", 40);
List<Entry<String, Integer>> _list = new ArrayList<Map.Entry<String,Integer>>() ;
_list.addAll(_map.entrySet()) ;
Collections.sort(_list, new Comparator<Entry<String, Integer>>() {
@Override
public int compare(Entry<String, Integer> o1,
Entry<String, Integer> o2) {
// TODO Auto-generated method stub
return o1.getValue().compareTo(o2.getValue());
}
});
for( Entry<String, Integer> _entry : _list ){
System.out.println(_entry.getKey() + ":" + _entry.getValue()) ;
}