Java计算排名通用方法

	//该方法可用于分数排名,购买量排名等排名计算操作
	//传入需要处理的集合和数字
    public int getClassRank(List<BuyerCountRanking> list,double tonSum){
        ArrayList<Double> arrayList = new ArrayList();
        Map map = new HashMap();
        //将需要排序的字段放入集合
        for(int p = 0; p < list.size(); p++){
            arrayList.add( Double.valueOf(list.get(p).getTonSum()));
        }
        //以分数为key,循坏下标为value生成map
        for (int i = 0; i < arrayList.size() ; i++) {
            if(i == 0){
                map.put(arrayList.get(0),0 + 1);
            }
            if(!map.containsKey(arrayList.get(i))){
                map.put(arrayList.get(i),i+1);
            }
        }
        //从map中取得对应的位置
        int rank = (int) map.get(tonSum);
        return rank;
    }

你可能感兴趣的:(战°)