package util.xhy;
import java.util.*;
      
public class hashmapsort {
        
    public static void main(String args[]){
        Map<String, Integer> sMap = new HashMap<String, Integer>();
        sMap.put("肖红阳",198);
        sMap.put("李小东",271);
        sMap.put("陈博弈",89);
        sMap.put("李天一",50);
        ArrayList arraylist_key=new ArrayList();
        ArrayList arraylist_value=new ArrayList();
             
        hashmapsort hashmapsort=new hashmapsort();
        hashmapsort.mysort(sMap, arraylist_key, arraylist_value);
            
        System.out.println(arraylist_key);
        System.out.println(arraylist_value);
            
    }
    /*
     * 将HashMap数据按值排序,将排序后的key组和value组分别存入数组中
     * @sMap 要排序的Map
     * @arraylist_key 保存排序后的key数组
     * @arraylist_value 保存排序后的value数组
     */
    public void mysort(Map sMap,ArrayList arraylist_key,ArrayList arraylist_value){
        Object[] value_arr = sMap.values().toArray();
        Arrays.sort(value_arr); 
        for(Object value : value_arr){
            Iterator iter=sMap.keySet().iterator();
            while(iter.hasNext()){
                Object key_tmp=iter.next();
                Object value_tmp=sMap.get(key_tmp);
                if(value_tmp==value){
                    arraylist_key.add(key_tmp);
                    arraylist_value.add(value_tmp);
                }
            }
        }
    }
}

java 自己写的一个hashmap排序_public