Map排序与有序

排序:

private static List<Map.Entry<String, Long>> sortHashMap(HashMap<String,Long> map) {
        System.out.println(map);  
        List<Map.Entry<String, Long>> list= new ArrayList<Map.Entry<String, Long>>(map.entrySet());  
        Collections.sort(list, new Comparator<Map.Entry<String, Long>>()  
          {   
              public int compare(Map.Entry<String, Long> arg1, Map.Entry<String, Long> arg2)  
              {  
               if(arg2.getValue()!=null&&arg1.getValue()!=null&&arg2.getValue().compareTo(arg1.getValue())>0){  
                return 1;  
               }else{  
                return -1;  
               } 
              }  
          });  
        return list;
    }

至于注释,等稍后有时间了再为大家更新....最近都没时间写笔记了,呜呜 ~~~

 有序集合:

import java.util.LinkedHashMap;

for(Integer i=5;i>0;i--){
Map m=new LinkedHashMap();
m.put("ClassID",i);
m.put("ItemID",i);
dataTableJY.add(m);
}
for(int i=0;i<5;i++){
dataTableJY.get(i).put("ChargeSn", i-50);
}
for(int i=0;i<dataTableJY.size();i++){
System.out.println(dataTableJY.get(i).get("ChargeSn")+" "+dataTableJY.get(i).get("ClassID")+" "+dataTableJY.get(i).get("ItemID"));
}

运行结果:

-50 5 5
-49 4 4
-48 3 3
-47 2 2
-46 1 1

org.apache.commons.collections.map.LinkedMap也能实现有序集合,与上同。区别待续。

原文地址:https://www.cnblogs.com/yanan7890/p/6544911.html