package way3;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class Test5 {
    public static void main(String[] args) {  
        List<String> ids = new ArrayList<String>();  
       //让a 字母出现3次
        for(int i = 0;i<3;i++){
            ids.add("a");
        }
        //让b出现5次
        for(int i = 0;i<5;i++){
            ids.add("b");
        }
        //让c出现1次
        ids.add("c");
        
        List<Map<String, Object>> list = new ArrayList<>();  
        //出去list中所含字母
        Set<String> set = new HashSet<>(ids);  
        //获取每个字母出现的次数
        for(String id : set){  
            Map<String, Object> map = new HashMap<>();  
            map.put("id", id);  
            map.put("count", Collections.frequency(ids, id));  
            list.add(map);  
        }  
        //排序
        Collections.sort(list, new Comparator<Map<String, Object>>() {
            @Override
            public int compare(Map<String, Object> o1, Map<String, Object> o2) {
                Integer count1 = (Integer) o1.get("count");
                Integer count2 = (Integer) o2.get("count");
                //有小到大
                int i = count1.compareTo(count2);
                System.out.println(i);
                return i;//返回-i取相反结果
            }
        });
        System.out.println(list.toString());  
    }  

}

 

posted on 2017-04-27 18:05  夏叶不惊风  阅读(647)  评论(0)    收藏  举报