java集合元素多属性排序

2017-12-04  本文已影响14人  tikeyc
sort.jpg
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();          
map.put("name", "name1");          
map.put("value", 2);          
list.add(map);                    
Map<String, Object> map1 = new HashMap<String, Object>();          
map1.put("name", "name2");          
map1.put("value", 16);          
list.add(map1);                    
Map<String, Object> map2 = new HashMap<String, Object>();          
map2.put("name", "name3");          
map2.put("value", 8);          
list.add(map2);
                    
Collections.sort(list, new Comparator<Map<String, Object>>(){     
              
    public int compare(Map<String, Object> v1, Map<String, Object> v2) {                        
        if(Integer.parseInt(v1.get("value").toString()) < Integer.parseInt(v2.get("value").toString())){                           
              return 1;                        
        } else if(Integer.parseInt(v1.get("value").toString()) > Integer.parseInt(v2.get("value").toString())) {                          
              return -1;                        
        } else {                           
              return 0;                           
        }                
     }           
 });                   

 for(int i = 0; i < list.size(); i++){             
     System.out.println(list.get(i).get("name") + " " + list.get(i).get("value"));         
 }


上一篇 下一篇

猜你喜欢

热点阅读