评论管家之MR

package com.movie.arith;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

/**
 * HashMap排序

 *
 */
public class SortHashMap {
    private List<Entry<String,Float>> list = new LinkedList<Entry<String,Float>>();
    /**
     * 按照评分大小将序排序
     * @param map
     * @return
     */
    public static  List<Entry<String,Float>> sortHashMap(HashMap<String,Float> map){
        SortHashMap sorthashmap = new SortHashMap();
        
        sorthashmap.list.addAll(map.entrySet());
        
        Collections.sort(sorthashmap.list,new Comparator<Entry<String,Float>>(){
            public int compare(Entry obj1,Entry obj2){
                if(Float.parseFloat(obj1.getValue().toString())<Float.parseFloat(obj2.getValue().toString()))
                    return 1;
                else if(Float.parseFloat(obj1.getValue().toString())==Float.parseFloat(obj2.getValue().toString()))
                    return 0;
                else
                    return -1;
            }
        });
        /*Iterator<Entry<String,Float>> ite = list.iterator();
        while(ite.hasNext()){
            Entry<String,Float> tmp = ite.next();
            System.out.println(tmp.getKey()+"\t"+tmp.getValue());
            sorthashmap.map.put(tmp.getKey(),tmp.getValue());
        }*/
        return sorthashmap.list;    
    }
    public static void main(String[]args){
        HashMap<String, Float> omap = new HashMap<String, Float> ();
        omap.put("a", (float)(1.0));
        omap.put("b", (float)(3.0));
        omap.put("c", (float)(2.0));    
        List<Entry<String,Float>> list = new LinkedList<Entry<String,Float>>();
        list=SortHashMap.sortHashMap(omap);
        for(Entry<String,Float> ilist : list){
            System.out.println(ilist.getKey()+"\t"+ilist.getValue());
        }            
    }
}
 

转载于:https://my.oschina.net/u/3581306/blog/1143057

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值