国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

HashMap與Hashtable的區別

2019-11-14 11:52:04
字體:
來源:轉載
供稿:網友

今天小錢給大家介紹一個重要的話題:HashMap與Hashtable的區別。再次強調,我在此不僅要說它們的區別,更重要的是,這是一道非常重要的企業面試題,幾乎每期大、中小型軟件公司面試出現的頻率會占60%-70%左右,無論你選擇從事Android開發、javaEE開發,還是大數據,Java基礎都非常重要,出現此題的概率也非常高,所以必須掌握它....步入正題:為什么要把它倆放一起做對比呢?Hashtable是從JDK1.0版本開始,從Java2平臺v1.2就被改進實現了Map接口,它和集合的Vector有些相似,因為Vector也是從JDK1.0版本開始,但最終它被HashMap給替代了,接下來我們重點說它倆的區別是什么:它倆的區別:首先我們說它們的共同點:底層都是哈希算法,都是雙列集合;區別是:1.HashMap是線程不安全的,線程不安全效率高,它是JDK1.2版本的;

   Hashtable是線程安全的,它的效率低,它是JDK1.0版本的;

2.HashMap可以存儲null鍵和null值;

   Hashtable不可以存儲null鍵和null值。

接下來我們來看下案例演示它倆的區別,貼上代碼:

package cn.edu.jit.map;import java.util.HashMap;import java.util.Hashtable;/** * HashMap和Hashtable的區別(很重要的面試題) * 它倆的區別:	首先我們說它們的共同點:底層都是哈希算法,都是雙列集合;	區別是:	1.HashMap是線程不安全的,線程不安全效率高,它是JDK1.2版本的;      Hashtable是線程安全的,它的效率低,它是JDK1.0版本的;	2.HashMap可以存儲null鍵和null值;   	  Hashtable不可以存儲null鍵和null值。 * @author Rocky * */public class HashTableMapDemo {	public static void main(String[] args) {		HashMap<String, Integer> hm = new HashMap<String, Integer>();		hm.put(null, 23);		System.out.PRintln(hm);//{null=23}				hm.put("李四", null);		System.out.println(hm);//{null=23, 李四=null}						Hashtable<String, Integer> ht = new Hashtable<String, Integer>();		ht.put(null, 23);		System.out.println(ht);//報異常NullPointerException				ht.put("王五", null);		System.out.println(ht);//同樣也報異常NullPointerException			}}所以我們說HashMap可以存儲null鍵和null值,而Hashtable不可以存儲null鍵和null值。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 呼伦贝尔市| 九江县| 泰安市| 远安县| 湛江市| 仁布县| 琼海市| 延吉市| 伊吾县| 阿巴嘎旗| 江西省| 邵阳市| 鄄城县| 屯留县| 灵寿县| 永福县| 永吉县| 台中县| 会理县| 阿城市| 兴海县| 永安市| 宜良县| 东辽县| 怀远县| 自治县| 墨江| 昌黎县| 唐山市| 吉隆县| 开封市| 洞头县| 宜丰县| 萝北县| 西青区| 秭归县| 吉安市| 石阡县| 灵武市| 咸宁市| 湘阴县|