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);
}
}
}
}
}
转载于:https://blog.51cto.com/6846041/1347537