HashMap直接是不能排序的。输出的结果的顺序是随机的。
要用变通的方法去完成。这里有两种方法:
1,用LinkedHashMap代替HashMap
将定义 HashMap<String,String> textMap = new HashMap<String, String>();
改为:
Map<String,String> textMap = new LinkedHashMap<String, String>();
可以实现设置前的顺序和读出的顺序一至。
2.一个HashMap排序
HashMap map = new HashMap();
map.put("1", "1");
map.put("3", "3");
map.put("2", "2");
map.put("4", "4");
Iterator iterator = map.keySet().iterator();
while(iterator.hasNext()){
Object key = iterator.next();
Object obj = map.get(key);
System.out.println(obj);
}
System.out.println("---------------------------");
Object[] key = map.keySet().toArray();
Arrays.sort(key);
for (int i = 0; i < key.length; i++) {
System.out.println(map.get(key[i]));
}
posted on 2008-08-01 16:48
TRE-China R&D 阅读(2469)
评论(0) 编辑 收藏 引用 所属分类:
JAVA