HashMap是无序的,HashMap在put的时候是根据key的hashcode进行hash然后放入对应的地方。所以在按照一定顺序put进HashMap中,然后遍历出HashMap的顺序跟put的顺序不同(除非在put的时候key已经按照hashcode排序号了,这种几率非常小)
单纯的HashMap是无法实现排序的,这的排序是指,我们将键值对按照一定的顺序put进HashMap里,然后在进行取键值对的操作的时候,是按照put进去的顺序把键值对取出来的。

JAVA在JDK1.4以后提供了LinkedHashMap来帮助我们实现了有序的HashMap!

LinkedHashMap取键值对时,是按照你放入的顺序来取的。

 1 [java] view plain copy print?
 2 import java.util.HashMap;    
 3 import java.util.Iterator;    
 4 import java.util.LinkedHashMap;    
 5 import java.util.Map;    
 6 import java.util.Map.Entry;    
 7 /**  
 8  * @author  TEANA E-mail: mmz06@163.com  
 9  * @version 创建时间:2011-1-21 下午02:23:07  
10  * @DO      LinkedHashMap与HashMap     
11  */    
12 public class LinkedMap    
13 {    
14     public static void main(String[] args)    
15     {    
16         //LinkedHashMap 有序    
17         Map maps = new LinkedHashMap();    
18         maps.put("1", "张三");    
19         maps.put("2", "李四");    
20         maps.put("3", "王五");    
21         maps.put("4", "赵六");    
22         System.out.println("LinkedHashMap(有序):");    
23         Iterator it = maps.entrySet().iterator();    
24         while(it.hasNext())    
25         {    
26             Map.Entry entity = (Entry) it.next();    
27             System.out.println("[ key = " + entity.getKey() +     
28                     ", value = " + entity.getValue() + " ]");    
29         }    
30         //HashMap 无序    
31         Map map = new HashMap();    
32         map.put("1", "张三");    
33         map.put("2", "李四");    
34         map.put("3", "王五");    
35         map.put("4", "赵六");    
36         it = null;    
37         System.out.println("HashMap(无序):");    
38         it = map.entrySet().iterator();    
39         while(it.hasNext())    
40         {    
41             Map.Entry entity = (Entry) it.next();    
42             System.out.println("[ key = " + entity.getKey() +     
43                     ", value = " + entity.getValue() + " ]");    
44         }    
45     }    
46 }  
View Code

相关文章:

  • 2022-12-23
  • 2021-07-05
  • 2022-12-23
  • 2021-09-06
  • 2022-12-23
  • 2023-03-09
  • 2021-06-13
  • 2022-01-16
猜你喜欢
  • 2021-06-16
  • 2018-01-24
  • 2022-01-28
  • 2021-06-06
  • 2022-12-23
相关资源
相似解决方案