posts - 134,  comments - 22,  trackbacks - 0
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
只有注册用户登录后才能发表评论。