关于map排序问题

比如我有个hashmap,但是如果我的输出要按照里面的key值的升序输出,有没有简便的方法或者相应实现的类呢

用这个类就行了java.util.TreeMap

SortedMap 接口的基于红黑树的实现。此类保证了映射按照升序顺序排列关键字,根据使用的构造方法不同,可能会按照键的类的自然顺序 进行排序(参见 Comparable),或者按照创建时所提供的比较器进行排序。

List就是有一个有序类。。
你可以把KEY放到LIST。
然后再获取KEY对应的VALUE值。
下面链接是:Collection List Set Map 区别
[url]http://gwshuai.iteye.com/blog/99373[/url]

[url]http://topic.csdn.net/u/20080531/17/158772eb-e31d-4152-afea-09731[/url]c473e12.html

[code="java"]import java.util.HashMap;
import java.util.TreeSet;
import java.util.Set;
import java.util.Collection;
public class HashMapSort{
public static void main(String [] args){
HashMap hm = new HashMap ();
hm.put("a",5);
hm.put("c",7);
hm.put("d",8);
hm.put("v",0);
hm.put("m",3);
hm.put("u",10);
hm.put("e",2);
hm.put("g",6);

  Set <String> set = hm.keySet();//取出所有键
  TreeSet <String> ts =new TreeSet <String>();
  System.out.println("键的原序:");
  for(String s: set){

    System.out.println(s);
    ts.add(s);
  }
  System.out.println("按键排序后的顺序:");
  for(String s:ts){

    System.out.println(s);
  }
  Collection <Integer> cl= hm.values();//取出所有值
  TreeSet <Integer> ts1 =new TreeSet <Integer>();
  System.out.println("值的原序:");
  for(Integer s: cl){

    System.out.println(s);
    ts1.add(s);
  }
  System.out.println("按值排序后的顺序:");
  for(Integer s:ts1){

    System.out.println(s);
  }

}
} [/code]

可以利用现有的HashMap类的实例创建一个具有完全相同映射关系的的TreeMap类型的实例
再用新建的实例去调用putAll函数即可