map:无序
treemap:默认是升序(以key作为标准)
linkedhashmap:默认是插入数据时的顺序
如果需要自定义,可做以下操作:
对于map的排序:
Map<String, String> map = new TreeMap<String, String>( new Comparator<String>() { public int compare(String obj1, String obj2) { // 降序排序(调整o1和o2比较的顺序调节升序和降序) return obj2.compareTo(obj1); } });
以上是对key的排序处理.
//这里将map.entrySet()转换成list List<Map.Entry<String,String>> list = new ArrayList<Map.Entry<String,String>>(map.entrySet()); //然后通过比较器来实现排序 Collections.sort(list,new Comparator<Map.Entry<String,String>>() { //升序排序 public int compare(Entry<String, String> o1, Entry<String, String> o2) { return o1.getValue().compareTo(o2.getValue()); } });
以上是对value的排序处理,如果修改 o1.getKey().compareTo(o2.getKey());即可转成key的排序处理.
以上两种方法都是实现重写conpare方法实现自定义排序处理.