关于HashMap的兑现

关于HashMap的实现[sizemedium]HashMap的存储原理在数组中存储着一个个的Entity对象(key-value的关联数组

关于HashMap的实现

[size=medium]
    HashMap的存储原理
      
         在数组中存储着一个个的Entity对象(key-value的关联数组),存储的位置是根据key的hashCode方法来确定的,如果key相同(hashCode相同、value相同)则会覆盖原有的对象值,如果key不同(hashCode相同、value不同),则会保留两个对象 
    

        public class TestHashMap {   class MyKey{       @Override       public int hashCode(){        return 0;       }       @Override       public boolean equals(Object o){           return false;       }   }      @Test    public void testHashMap(){          Map <MyKey,String> map = new HashMap<MyKey,String>();          map.put(new MyKey(),"hello" );          map.put(new MyKey(), "guy");          for(MyKey mk : map.keySet()){              System.out.println(map.get(mk));          }    }}     
 
   结果输出两个对象 
http://www.ibm.com/developerworks/cn/java/j-lo-hash/
[/size]