当前位置: 首页 > Java > 正文

Collections.sort降序排列

1 星2 星3 星4 星5 星 (暂无评分)
Loading ... Loading ...
baidu_share

我们可以利用Collections.sort进行集合排序。但是该结果是自然排序,即升序排序,如果要用降序排序怎么办呢,很简单用第二个参数和第一个参数进行比较。在map集合排序时,要注意把结果保存在LinkedHashMap,否则得到结果不会是排序的。

实例如下:

	public static void main(String[] args){
		Map<String,String> resultMap=new HashMap<String,String>();
		resultMap.put("aa", "2");
		resultMap.put("bb", "4");
		resultMap.put("cc", "1");
		List<Map.Entry<String, String>> list= new ArrayList<Map.Entry<String, String>>(resultMap.entrySet());
		Map<String, Long> result=new LinkedHashMap<String, Long>(list.size());
		long total=0;
		try{			 
			Collections.sort(list, new Comparator<Map.Entry<String,String>>(){ 
				public int compare(Map.Entry<String,String> map1,Map.Entry<String,String> map2){ 
                                    //降序排列 
				    return Long.valueOf(map2.getValue()).compareTo(Long.valueOf(map1.getValue())); 
 
                                   //升序排列 
				   //return Long.valueOf(map1.getValue()).compareTo(Long.valueOf(map2.getValue())); 
				} 
			}); 			
			for(Map.Entry<String,String> entry:list){ 
				result.put(entry.getKey(), Long.valueOf(entry.getValue()));	
				total=total+Long.valueOf(entry.getValue());
			} 
		}catch(Exception e){
 
		}
		System.out.println(result);
	}

本文固定链接: http://www.chepoo.com/collections-sort-desc.html | IT技术精华网

Collections.sort降序排列:等您坐沙发呢!

发表评论