比如我有个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函数即可