MAP集合排序

来源:互联网 发布:网络公司简介模板图片 编辑:程序博客网 时间:2024/06/11 04:35

//首先TreeMap,SortedMap排序性能高于HashMap

介绍map集合排序


import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;




public class MapPX {


/**
* @param args
*/
@SuppressWarnings("unchecked")
public static void main(String[] args) {
Map<String,Float> PXMap = new HashMap<String,Float>();//排序专用
PXMap.put("a1", 12f);
PXMap.put("a2", 1212f);
PXMap.put("a3", 122f);
PXMap.put("a4", 123f);
PXMap.put("a5", 112f);
System.out.println(PXMap);
List list = new ArrayList(PXMap.entrySet());
Collections.sort(list, new CompareSort());
System.out.println("s:"+list);
for(int i=0;i<list.size();i++)
{
Iterator it= list.iterator();
System.out.println(list.get(i));
}
}


}



import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;


//map集合 比较转换类
public class CompareSort implements Comparator<  Map.Entry<String, Float> > {


@SuppressWarnings("unchecked")
@Override
public int compare(  Map.Entry<String, Float> o1,  Map.Entry<String, Float> o2) {
Map.Entry<String,Float> map1=(Map.Entry<String,Float>)o1;  
    Map.Entry<String,Float> map2=(Map.Entry<String,Float>)o2;  
return  (int) (map1.getValue()- map2.getValue());
}


}

0 0