Hashtable和HashMap的区别
HashTable常用方法与HashMap一致
HashMap与Hashtable区别:
-
1、HashMap是线程不安全的,HashTable是线程安全的
-
2、HashMap中key可以为null,value也可以为null。HashTable不可以
-
3、Hashtable数组的初始容量是12,而HashMap是16
-
在实际开发中一般都是用HashMap。ConCurrentHashMap是线程安全的
public class HashTableDemo {
public static void main(String[] args) {
Hashtable<String, String> map = new Hashtable<String, String>();
map.put("name", "张三");
map.put("age", "30");
map.put("sex", "男");
map.put("name", "李四");//覆盖掉张三
//map.put(null, null);// java.lang.NullPointerException
System.out.println(map);//{age=30, name=李四, sex=男}
System.out.println(map.get("name"));//李四
System.out.println(map.get("age"));//30
System.out.println(map.get("sex"));//男
/**
* HashTable常用方法与HashMap一致
*
* HashMap与Hashtable区别:
* 1、HashMap是线程不安全的,HashTable是线程安全的
* 2、HashMap中key可以为null,value也可以为null。HashTable不可以
* 3、Hashtable数组的初始容量是12,而HashMap是16
*
* 在实际开发中一般都是用HashMap。ConCurrentHashMap是线程安全的
*
*/
Map<String, String> hashMap = new HashMap<String, String>();
hashMap.put(null, null);
hashMap.put(null, "哈哈");
System.out.println(hashMap.get(null));//哈哈
System.out.println(hashMap);//{null=哈哈}
}
}