HashTable HashMap HashSet區別(java)

愛做飯的小瑩子發表於2014-07-22

Hashtable:

 1. key和value都不許有null值

 2. 使用enumeration遍歷

 3. 同步的,每次只有一個執行緒能夠訪問

 4. 在java中Hashtable是H大寫,t小寫,而HashMap是H大寫,M大寫

 

HashMap:

 1. key和value可以有null值

 2. 使用iterator遍歷

 3. 未同步的,多執行緒場合要手動同步HashMap

 

 HashSet

 1. 底層呼叫HashMap

 2. 不允許有重複值

 

 常用Java操作:

 1         Hashtable<Integer, Integer> ht=new Hashtable<Integer, Integer>();
 2         ht.put(key, value);
 3         ht.containsKey(key);
 4         ht.containsValue(value);
 5         ht.remove(key);
 6         ht.remove(key, value);

 7         HashMap<Integer, Integer> hm = new HashMap<Integer, Integer>();
 8         hm.put(key, value);
 9         hm.containsKey(key);
10         hm.containsValue(value);
11         hm.remove(key);
12         hm.remove(key, value);

13         HashSet<Integer> hs = new HashSet<Integer>();
14         hs.add(e);
15         hs.contains(o);
16         hs.remove(o);

 

Reference:

http://blog.sina.com.cn/s/blog_4586764e0100ivup.html

http://www.blogjava.net/fisher/archive/2006/12/13/87398.html

http://blog.csdn.net/wl_ldy/article/details/5941770

http://www.pakzilla.com/2009/08/24/hashmap-vs-hashtable-vs-hashset/

相關文章