根据value字段对map进行排序
一般来说,我们通常都是通过map中的key字段进行排序,步骤如下:
一、根据key对map进行排序
TreeMap<String , Integer> map = new TreeMap<String,Integer>(new Comparator<String>(){ //直接添加比较器
public int compare(String o1,String o2){
.....
}
});
但是却没有直接的方法能够进行value排序;
二、根据value对map进行排序
步骤如下:
1.提取视图
2.变成ArrayList,并添加比较器
Set<Map.Entry<String,Integer>>set = map.entrySet();
ArrayList<Map.Entry<String,Integer>> list = new ArrayList<Map.Entry<String,Integer>>(set);
Collections.sort(list,new Comparator<Map.Entry<String,Integer>(){
public int compare(Map.Entry<String,Integer> o1,Map.Entry<String,Integer> o2){
int value1 = o1.getValue();
int value2 = o2.getValue();
//接着就可以进行比较了
}
}>);