一、hashmap
1、hashmap是线程不安全的,hashmap是将key影射到value,一个key对应一个value,并且key不能重复,value可以重复。如果有重复的key值时,相同key值的最后一次存入的会覆盖掉前面的key值和value。hashmap可以有null的key值和null的value。
2、hashmap不是线程安全的,效率上高于hashset。
3、HashMap继承自Map接口
4、HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。
二、hashtable
1、hashtable不允许有null的key和null的value。
2、hashtable是线程安全的,它的方法是Synchronize的
3、hashtable继承自Directory类
有序否 | 允许元素重复否 | ||
Collection | 否 | 是 | |
List | 是 | 是 | |
Set | AbstractSet | 否 | 否 |
HashSet | |||
TreeSet | 是(用二叉树排序) | ||
Map | AbstractMap | 否 | 使用key-value来映射和存储数据,Key必须惟一,value可以重复 |
下面的这个链接就是上面的表格来源,http://www.cnblogs.com/taotaoblog/archive/2009/09/19/1569958.html