文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>对 Map 的 value 排序

对 Map 的 value 排序

时间:2010-09-07  来源:xylonw


import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import java.util.Map.Entry;
/**
 * 此类描述的是:根据字符串个数的进行降序排列
 * @author [email protected]
 * @version 创建时间:Sep 7, 2010 9:42:38 PM
 */

public class StringTest {
    //需统计的字符串

    private static String s = "asdwdasdasadsakjlvjcnuhiajdahduqwgadlsjdlakjdoqjdlndbcnhgdw";
    //存放排序结果

    private static List<Map.Entry<Character, Integer>> list = new ArrayList<Map.Entry<Character,Integer>>();
    //key 为字符, value 为个数

    private static Map<Character, Integer> treeMap = new TreeMap<Character, Integer>();
    
    /**
     * 此方法描述的是:字符分类统计,排序
     * @param x 需分类统计的字符串
     * void
     */
    public static void sortString(String x) {
        //分类统计

        if(x!=null && x.length()>0) {
            for(int i=0; i<x.length(); i++) {
                char xx = s.charAt(i);
                //未包含该该字符,初始化1

                if(treeMap.get(xx) == null) {
                    treeMap.put(xx, 1);
                //包含该该字符,值自增

                } else {
                    treeMap.put(xx, (treeMap.get(xx).intValue() + 1));
                }
            }
        }
        //转存list,目的使用jdk提供的方法

        list.addAll(treeMap.entrySet());
        
        //对list经行排序

        Collections.sort(list, new Comparator<Map.Entry<Character,Integer>>() {
            public int compare(Entry<Character, Integer> o1,
                    Entry<Character, Integer> o2) {
                //降序

                return o2.getValue()-o1.getValue();
                //升序

            //    return o2.getValue()-o1.getValue();

            }
        });
        //打印排序结果

        for(Map.Entry<Character,Integer> s: list){
            System.out.println(s+"--->"+s.getValue());
        }
        
    }
    
    public static void main(String[] args) {
        sortString(s);
    }
}


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载