關於List >集合 的按大小排序


今天寫項目,突然遇到了一個問題。程序要求我把一個List<Map<String,Object>>集合按大小排序,卧槽,當時我就懵逼了~
        經過研究,功夫不負有心人啊,叼叼噠的我腫么把這個排序搞定了,回頭發現,代碼也是叼叼噠~醉了醉了~
        廢話不多說,直接上代碼:
//這是你自己用來接受查詢出來的數據的集合。
 List<Map<String,Object>> listMap1 = new LinkedList<Map<String,Object>>();
//這是我集合中的數據(泥萌可以拿去當靜態數據用)
[{"count":205,"ip":"10.0.30.96"},{"count":79,"ip":"10.0.30.76"},{"count":39,"ip":"10.0.30.75"},{"count":38,"ip":"10.0.30.83"},{"count":37,"ip":"10.0.30.78"},{"count":33,"ip":"10.0.30.84"},{"count":20,"ip":"10.0.30.53"},{"count":17,"ip":"10.0.10.112"},{"count":12,"ip":"10.0.30.79"},{"count":11,"ip":"10.0.30.81"},{"count":6057,"ip":"192.168.1.195"},{"count":2077,"ip":"192.168.1.97"},{"count":943,"ip":"192.168.1.70"},{"count":813,"ip":"192.168.1.100"},{"count":727,"ip":"192.168.1.79"},{"count":647,"ip":"192.168.1.87"},{"count":629,"ip":"192.168.1.21"},{"count":182,"ip":"192.168.1.155"},{"count":168,"ip":"192.168.1.95"},{"count":160,"ip":"192.168.1.93"}]    

// 數據的話 可以自己去手動添加靜態的ang~

//接下來到關鍵時刻了~      要注意line.3位置的count   是對應你自己數據集合中的count

  1. Collections.sort(listMap1, new Comparator<Map<String,Object>>(){  
  2.             public int compare(Map<String,Object> o1,Map<String,Object> o2){  
  3.             return  (Long)o1.get("count")<(Long)o2.get("count")?1:( (Long)o1.get("count")==(Long)o2.get("count")?0:-1);
  4.             }  
  5.         });  
  6.         System.out.println("排序:"+listMap1);

//然后就是叼叼噠的排序    long 是指你自己的count的類型,排序的話只是更改一下大於小於符號即可~
     return  (Long)o1.get("count")>(Long)o2.get("count")?1:( (Long)o1.get("count")==(Long)o2.get("count")?0:-1);//這是從小到大
     return  (Long)o1.get("count")<(Long)o2.get("count")?1:( (Long)o1.get("count")==(Long)o2.get("count")?0:-1);//這是從大到小

//然后......   就沒有然后了

 
 碼字不易,求點贊~O(∩_∩)O~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。