1、HashMap和HashSet的差別
http://www.importnew.com/6931.html
2、HashMap和HashTable的差別
http://www.importnew.com/7010.html
3、JAVA中重寫equals()方法為什麼要重寫hashcode()方法?
http://blog.csdn.net/methods2011/article/details/9814635
4、T extends E 和 ? super E 差別
http://lsq6063.iteye.com/blog/693751
<? extends E> 是 Upper Bound(上限) 的通配符
<? super E> 是 Lower Bound(下限) 的通配符
結論:使用了 <? extends E> 這樣的通配符,test方法的參數list變成了隻能get不能set(除了null) 或者不嚴謹的說它變成了隻讀參數了, 有些類似一個生産者,提供資料。
結論: 使用了<? super E> 這種通配符,test方法的參數list的get受到了很大的制約,隻能最寬泛的方式來擷取list中的資料,相當于get隻提供了資料最小級别的通路權限(想想,你可能原本是放進去了一個Book,卻隻能當作Object來通路)。
它更多适合于set的使用場景,像是一個消費者,主要用來消費資料。
4、synchronizedmap vs concurrenthashmap
http://www.ibm.com/developerworks/cn/java/java-lo-concurrenthashmap/
http://java.dzone.com/articles/java-7-hashmap-vs
http://www.ibm.com/developerworks/java/library/j-jtp08223/index.html
5、HashMap的工作原理
http://blog.csdn.net/wzhg0508/article/details/16861683