java map集合排序问题

70 阅读1分钟

Map的主要实现有HashMap,TreeMap,HashTable,LinkedHashMap。

TreeMap实现了SortedMap接口,保证了有序性。默认的排序是根据key值进行升序排序,也可以重写comparator方法来根据value进行排序。

hashMap为无序,SortedMap为有序,如果要根据value排序,可参考如下:

List<Map.Entry<String,String>> list = 
              new ArrayList<Map.Entry<String,String>>(entry2);//entry2为sortedMap
        
        Collections.sort(list, new Comparator<Map.Entry<String,String>>(){
 
         @Override
            public int compare(Entry<String, String> o1, Entry<String, String> o2) {
                // TODO Auto-generated method stub
                return o1.getValue().compareTo(o2.getValue());
            }
           
        });