HashMap:
key:可null,重复的key对应的value会出现后面覆盖前面的情况。
value:可null;
引用:数组,数组中存链表。
HashSet
使用HashMap的实现存储数据,所以有HashMap key的特性,无序(hashcode运算了),可null。
代码如下:
add方法:
return map.put(e, PRESENT)==null;
hashtable:
与hashMap类似,key不能为null,线程安全的synchronized
引用:
hashtable能保证线程安全,但有一种更高效的方式就是使用CocurrentHashMap来保证线程安全,同时效率又高;
hashtable是锁住对象的方法,一次只能有一个线程去hashtable里面拿,而CocurrentHashMap是只锁数组[ i ] ,所以CocurrentHashMap的效率会比hashtable快很多,又比hashmap安全性要高
一步一步行走,做好每一件事情。