关于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)); } }}